|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.12.2013, 15:18 | #1 |
Регистрация: 01.12.2013
Сообщений: 9
|
задача с цыклом
Программист и математик ездят в сказочном троллейбусе , в котором номера билетов - пятизначные числа. Покупая билет , они всегда проверяют "счастливый" у него номер или " нет". Для этого они выполняют такие математические вычисления:
• Вычисляют сумму квадратов цифр числа . • Затем повторяют операцию для полученного результата. • И делают это пока результат не окажется равным единице , или вычисления не попадут в бесконечный цикл . Если операция закончилась на единицы , то номер счастлив. Входной файл INPUT.TXT содержит несколько чисел - номера билетов ( по одному в строке). В выходной файл OUTPUT.TXT для каждого билета нужно вывести HAPPY , если билет счастливый , или SAD - в противном случае |
01.12.2013, 15:28 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
01.12.2013, 15:39 | #3 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
1+1+1+1+1= 5 5^2 = 25 4+25 = 29 4+81 = 85 64+25 = 89 64+81 = 145 1+16+25 = 42 16+4=20 4+0 = 4 16 = 16 1+36 = 37 9+49 = 58 Здрасте, бесконечный цикл.. Вот есть ссылки (но для 4-х чисел..)тыц тыц Последний раз редактировалось Poma][a; 01.12.2013 в 15:43. |
|
01.12.2013, 15:59 | #4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
I'm learning to live...
|
||
01.12.2013, 16:22 | #5 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
|
|
01.12.2013, 16:37 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Допустим. а как программа определит что условие уже стало "бесконечным"?
Человек, то предположить может, а компьютер?
I'm learning to live...
|
01.12.2013, 16:39 | #7 |
Регистрация: 01.12.2013
Сообщений: 9
|
у меня получилось сделать только если цыкл 2 раза проходит, что сдесь не так
program kvitok; var i,f,l,k,h,g:longint; function roskl(n:longint):longint; var a,b,c,d,e,s:longint; begin a:=n div 10000; b:=n div 1000 mod 10; c:=n div 100 mod 10; d:=n div 10 mod 10; e:=n mod 10; s:=a*a+b*b+c*c+d*d+e*e; roskl:=s;end; function ch(k:integer):integer; var h:integer; begin case k of 1..9:h:=1; 10..99:h:=2; 100..999:h:=3; 1000..9999:h:=4; else h:=5;end; ch:=h; end; begin read(g); k:=roskl(g); l:=ch(k); for i:=1 to h do begin f:=roskl(l); end; write(f); end. |
01.12.2013, 16:49 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
Stilet, как только встретим уже встреченный набор цифр (или само число, так как одинаковый набор цифр дает одинаковое число), то попали в цикл.
julian97, во-первых, а если число будет 6тизначное? Во-вторых, интересное условие конца цикла.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
01.12.2013, 16:51 | #9 | ||
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Цитата:
|
||
01.12.2013, 16:52 | #10 |
Регистрация: 01.12.2013
Сообщений: 9
|
в условии 5 значное
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задание с цыклом for(очень простое для новичка) формулу не могу подобрать( | dykee | Помощь студентам | 14 | 03.11.2013 20:40 |
Программы с цыклом | Casillas1 | Помощь студентам | 1 | 28.05.2013 11:56 |
траблы с цыклом repeat | bulldog5293 | Общие вопросы Delphi | 12 | 23.02.2011 22:26 |
Простая прога с цыклом на с++ | Olya90 | Помощь студентам | 5 | 11.04.2009 19:31 |
Помогите с Цыклом | Dzib | Помощь студентам | 4 | 24.10.2008 16:39 |