Учимся программировать с помощью задач с числами

Для изучения программирования нет ничего лучше, чем практика. В процессе решения задач с числами развиваются практические навыки использования вашего языка программирования, а также алгоритмическое мышление. Кроме самих задач, в материале приведены примеры их решения на разных языках программирования.

1. Найдите число π до указаной цифры после запятой — введите число и сделайте так, чтобы программа сгенерировала π с точностью знаков после запятой, равной введённому числу.

Решения:

Python: решение 1, решение 2, решение 3, решение 4, решение 5, решение 6.
Java: решение 1, решение 2.
PHP: решение 1, решение 2.
JavaScript: решение 1.
Haskell: решение 1.
Go: решение 1.
С: решение 1.
С++: решение 1.
С#: решение 1.
Swift: решение 1.
Bash: решение 1.

2. Найдите число e до указаной цифры после запятой — как и в предыдущем примере, нужно сделать так, чтобы программа сгенерировала значение e с точностью знаков после запятой, равной введённому числу.

Решения:

Python: решение 1, решение 2, решение 3.
Java: решение 1.
С: решение 1.
С++: решение 1.
Swift: решение 1.
Bash: решение 1.
Ruby: решение 1.

3. Последовательность Фибоначчи — введите число и сделайте так, чтобы программа сгенерировала последовательность Фибоначчи до указанного числа.

Решения:

Python: решение 1, решение 2, решение 3, решение 4решение 5решение 6решение 7решение 8.
Java: решение 1, решение 2, решение 3.
PHP: решение 1.
JavaScript: решение 1, решение 2.
Haskell: решение 1.
Go: решение 1.
С: решение 1, решение 2.
С++: решение 1.
Swift: решение 1.
Bash: решение 1.
Ruby: решение 1.

4. Разложение на простые множители — сделайте так, чтобы программа нашла множители к числу (если имеются), которое введёт пользователь.

Решения:

Python: решение 1, решение 2, решение 3, решение 4, решение 5, решение 6.
Java: решение 1.
JavaScript: решение 1.
Haskell: решение 1.
С: решение 1.
С++: решение 1, решение 2.
Bash: решение 1.

5, Следующее простое число — сделайте так, чтобы программа находила следующее простое число до тех пор, пока пользователь не остановит выполнение программы.

Решения:

Python: решение 1, решение 2, решение 3, решение 4.
JavaScript: решение 1, решение 2.
Haskell: решение 1.
Go: решение 1.
С: решение 1, решение 2.

6. Найдите стоимость плитки для покрытия пола размером В на Ш — рассчитайте полную стоимость плитки, которая понадобится для покрытия пола, получая на входе высоту и ширину покрываемой поверхности.

Решения:

Python: решение 1, решение 2, решение 3, решение 4.
Java: решение 1.
JavaScript: решение 1.
С: решение 1, решение 2.
С++: решение 1.
Ruby: решение 1.
Bash: решение 1.
Scala: решение 1.

7. Ипотечный калькулятор — рассчитайте размер ежемесячных платежей для ипотеки с фиксированной стоимостью залогового имущества, заданным сроком погашения и фиксированной процентной ставкой. Также рассчитайте за какой период пользователь сможет выплатить ипотеку, делая фиксированные взносы с заданной периодичностью. Для большей сложности сделайте так, чтобы пользователи могли выбрать интервал между платежами (ежемесячно, еженедельно, ежедневно).

Решения:

Python: решение 1.
Java: решение 1.
Go: решение 1.
Bash: решение 1.

8. Программа расчёта сдачи — сделайте так, чтобы программа рассчитывала количество и вид монет для заданного размера сдачи.

Решения:

Python: решение 1, решение 2, решение 3.
Go: решение 1.
С++: решение 1.
Clojure: решение 1.

9. Конвертер двоичных чисел в десятичные и наоборот — сделайте так, чтобы программа конвертировала двоичные числа в десятичные и наоборот.

Решения:

Python: решение 1, решение 2.
С++: решение 1, решение 2.

10. Калькулятор — напишите простой калькулятор. Для усложнения сделайте его инженерным.

Решения:

Python: решение 1, решение 2.
Java: решение 1.
PHP: решение 1.
JavaScript: решение 1.
Haskell: решение 1.
Ruby: решение 1.

11. Конвертер единиц измерения (температуры, валюты, объёма, массы и др.) — сделайте так, чтобы программа конвертировала единицы между собой. Пользователь должен выбрать пару единиц измерения и ввести своё значение, а программа — конвертировать.

Решения:

Python: решение 1, решение 2.
Java: решение 1.

12. Простой будильник — программа должна воспроизводить звук спустя n-часов, y-минут и z-секунд после запуска или в установленное время.

Решения:

Python: решение 1, решение 2.
Java: решение 1.
С#: решение 1.

13. Расстояние между двумя городами — сделайте так, чтобы программа вычисляла расстояние между двумя городами в единицах, указанных пользователем. Программе может понадобиться возможность нахождение координат городов по широте и долготе.

Решения:

Python: решение 1.
Haskell: решение 1.
С: решение 1.

14. Программа проверки кредитной карты — программа должна проверять номер кредитной карты одной из известных платёжных систем (Visa, MasterCard, American Express, Discover) на предмет корректности (познакомьтесь с алгоритмом Луна).

Решения:

Python: решение 1, решение 2, решение 3, решение 4, решение 5.
Java: решение 1.
JavaScript: решение 1.
Haskell: решение 1.
Go: решение 1.
Bash: решение 1.
Ruby: решение 1.

15. Нахождение факториала — факториал неотрицательного целого числа n определяется как произведение последовательности n-1, n-2 … Единица и факториал нуля определяются как единица. В программе используйте циклы и рекурсию.

Решения:

Python: решение 1, решение 2, решение 3, решение 4.
JavaScript: решение 1.
Haskell: решение 1, решение 2.
Go: решение 1.
SML: решение 1.
Julia: решение 1.

16. Алгебра комплексных чисел — создайте отдельные функции для сложения, умножения, вычитания и инверсии комплексных чисел. Сделайте так, чтобы результат каждой операции выводился на экран.

Решения:

Python: решение 1.
Haskell: решение 1.
С: решение 1.

17. Названия чисел — сделайте так, чтобы программа отображала названия чисел на вашем языке по меньшей мере до миллиона. По желанию: можете сделать так, чтобы программа выводила названия также для нуля, отрицательных целых чисел и чисел с плавающей запятой.

Решения:

Python: решение 1.
Haskell: решение 1.
Go: решение 1.
С++: решение 1.

18. Симуляция бросания монеты — напишите код, который симулировал бы бросок монеты столько раз, сколько указал пользователь. Программа также должна записывать количество выпавших орлов и решек.

Решения:

Python: решение 1, решение 2, решение 3.
Java: решение 1.
JavaScript: решение 1.
С++: решение 1.

Перевод материала с GitHub

Ещё интересное для вас:
— Биты, байты, Ада Лавлейс — тест на знание околоIT.
— Level Up — события и курсы, на которых можно поднять свой уровень.
— Работа мечты — лучшие IT-вакансии для вас.