Другие языки программирования и технологии

как доказать, что любое число больше 7 является суммой 3 и 5?

Примеры: 8=3+5; 11=5+3+3 и тд
Решение желательно на языке Паскаль)
Kadir Satybaldy
Kadir Satybaldy
634
На Паскале решить нельзя, так как задача математическая.
Рассмотрим следующие случаи:
1) Число делится на 3 нацело. Очевидно, что оно представляется в нужном виде.
2) Число при делении на 3 имеет остаток 1. Т. е. x = 3*a + 1. Наименьшее число, которое подходит под условие 10 - оно очевидно представляется в виде суммы двух пятерок. Пусть теперь x > 10. Воспользуемся этим: x - 10 = 3*a + 1 - 3*3 - 1 = 3*(a - 3). Т. е. x = (x - 10) + 10 = 3*(a - 3) + 5 + 5. Как видим в и данном случае число представляется в нужном виде.
Сергей Дубовик
Сергей Дубовик
5 321
Лучший ответ
Полагаю, эта теорема ещё лет сто будет напрягать умы математиков....
не знаю, как доказать, и тем более как на Паскале, но из троек и пятёрок можно сложить любое целое число больше 7, т. к. минимальный шаг у этих цифр равен единице (3+3=6-5=1), а с таким шагом можно сложить любое число.
Максим Ярцев
Максим Ярцев
12 697
Ой, извините, я сначала прочитала: "Решение желательно на языке Паскакаль". Я так ржала, что до сих пор оправиться не могу.. . Ещё раз простите, ой...
Само доказательство и ссылка на программу. Паскаль под рукой нет, есть 1С. Перевести будет не трудно: https://infostart.ru/public/861948/

Проверим что числа от 8 до 19 действительно можно представить в виде сумм 3 и 5: x = 3n + 5к

8=(3*1+5*1)
9 =(3*3+5*0)
10=(3*0+5*2)
11=(3*2+5*1)
12=(3*4+5*0)
13=(3*1+5*2)
14=(3*3+5*1)
15=(3*5+5*0)
16=(3*2+5*2)
17=(3*4+5*1)
18=(3*1+5*3)
19=(3*3+5*2)

Любое число больше 19 также можно представить с помощью цифр 8,9,10...19

20 = 10+10
21 = 11+10
22 = 11+11
....
29 = 19+10

Утверждение становится очевидным, если вспомнить формулу представления десятичных чисел: х = εrsr + εr -1sr -1 + … + ε1s1 + ε 0s0 + ε1s1 + ε -1s -1+ ε - 2s -2 + …
Для дальнейшего представления натуральных положительных чисел > 20 хватит и этого набора:

10=(3*0+5*2)
11=(3*2+5*1)
12=(3*4+5*0)
13=(3*1+5*2)
14=(3*3+5*1)
15=(3*5+5*0)
16=(3*2+5*2)
17=(3*4+5*1)
18=(3*1+5*3)
19=(3*3+5*2)

т. к. включает он в себя весь необходимый набор цифр 10Х (0,1,2,3,4,5,6,7,8,9).

P.S.
Доказательство, строго говоря, математически не корректно, но зато понятно.
С помощью матиндукции было бы правильнее, но... если кому надо, вспомню, напишу.
Alexandr Jefimov
Alexandr Jefimov
154

Похожие вопросы