6.1. Численные задачи

1. Автоморфными называются числа, которые содержатся в последних разрядах их квадрата, например:

52 = 25 252 = 625

Напишите программу для нахождения нескольких автоморфных чисел.

2. Выпишите все простые числа, находящиеся в интервале между 100 и 300. Простым называется число, которое делится только на единицу и на само себя.

3. Любое целое число может быть единственным образом разложено на простые сомножители. Напишите программу для выполнения такого разложения.

4. Согласно гипотезе Гольдбаха, любое четное число может быть представлено в виде суммы двух простых чисел. Проверьте эту гипотезу для первых 500 четных чисел.

5. Напишите программу, которая считывала бы два целых числа и определяла бы, являются ли они взаимно простыми. (Два числа называют взаимно простыми, если они не имеют общих делителей).

6. Парные простые числа. Парными простыми числами называют два простых числа, разность которых равна двум, например:

3 5 11 13

Напишите программу нахождения 15 таких пар.

7. Числа Мерсенна. Простое число Мерсенна — это число, которое может быть представлено в виде

2*— 1, где р — тоже простое число. Напишите программу для нахождения ряда таких чисел.

8. Числа Пифагора определяются соотношением с2=а2+62, где а, Ь и с — целые числа. Напишите программу для нахождения пяти чисел Пифагора.

9. Совершенным числом называется целое число, которое равно сумме всех его сомножителей, за исключением самого этого числа. Напишите программу получения трех совершенных чисел. Например:

28=1+2 + 4 + 7+14

10. Напишите программу, которая считывала бы действительное число и печатала его в виде мантиссы и порядка, например:

123,42 -> .12342Е + 03

11. Числа Фибоначчи. Формирование чисел Фибоначчи осуществляется по следующим правилам:

^1=1

Таким образом, /7з=2, 7*4=3.

а) Выдайте на печать первые 15 чисел Фибоначчи.

б) Выдайте на печать значения частного от деления каждого последующего числа Фибоначчи на предыдущее.

в) Было замечено, что если некоторое число Фибоначчи умножить на 1,618, то можно с определенной точностью получить следующее число Фибоначчи. Проверьте это предположение и вычислите разность каждой пары чисел Фибоначчи.

12. Напишите программу, которая считывает десятичное число и печатает его двоичный, восьмеричный и шестнадцатеричный эквиваленты.

13. Составьте программу вычисления точной арифметической суммы и разности двух целых чисел, содержащих 100 разрядов.

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

15. Напишите программу, которая считывает числа N и М и находит частное ИІМ с точностью до 25 знаков.

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

17. Два числа называют дружественными, если каждое из них равно сумме всех делителей другого, кроме самого этого числа. Например, 220 и 284 есть дружественные числа, так как делителями первого являются числа 1, 2, 4, 5, 10, 11, 20, 22, 44, 65 и 110, сумма которых равна 284, а делителями второго — числа 1, 2, 71 и 142, которые в сумме дают 220. Напишите программу для отыскания некоторых других дружественных чисел.

18. Напишите программу для нахождения всех собственных делителей целого числа N (т. е. всех чисел, меньших ІУ, на которые оно делится).

19. а) Составьте программу отыскания наименьшего целого числа, которое может быть представлено в виде суммы кубов двух чисел двумя различными способами. Например, если кубы чисел І3, 23, З3, то 9=13 + 23, однако это число не может быть представлено никакой другой суммой двух кубов чисел.

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

для п=\ М= 2=01+21 = 11 + 11, для п=2 М=25=02+б2=32+42, для /2=3 М= ?=/3+/3=/(3+/,3, для п=4

20. Напишите несколько таких программ, в которых возникало бы арифметическое переполнение:

а) при выполнении арифметических операций над целыми числами;

б) при выполнении арифметических операций над действительными числами Один из возможных способов решения этой задачи — последовательное вычисление степеней двойки. Еще быстрее можно добиться переполнения, если вычислять факториалы (например, 51 = 5*4*3*2* 1), Напишите также программу, приводящую к арифметической потере значимости при выполнении арифметических операций над действительными числами.

21. Для целых значений /, /, К, Ь найдите несколько чисел, чтобы выполнялось равенство

/" — /"=:(/("+ 1*)*

Литература5 || Оглавление || 6.2. Игровые задачи


Услуги