Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
tampaf
Зарегистрирован: 04.06.2006 Сообщения: 1 Откуда: из истры
|
Добавлено: Вс Июн 04 2006 15:57 Заголовок сообщения: Помогите программу на паскале написать |
|
|
Помогите написать программу с таким условием: Дано число n. Найти наименьшее число М (N<M<2N),
которое делится на сумму цифр числа N (без остатка).
Если такого числа нет, то вывести слово “нет” на экран.
Пример: N=12 345, M=12 360, число 12 360 делится на число 15 – сумму цифр числа N.
А то совсем не знаю чет не работаети все.
Помогита Плиззз! |
|
Вернуться к началу |
|
|
grf
Зарегистрирован: 05.04.2005 Сообщения: 1242 Откуда: Москва
|
Добавлено: Пн Июн 05 2006 09:32 Заголовок сообщения: |
|
|
Если я правильно понял задачу, то
1. Разбиваешь число N на цифры
2. Суммируешь эти цифры, пусть их сумма будет числом Т
3. Делаешь цикл с постусловием,
в котором
увеличиваешь N на единицу за каждый шаг и проверяешь делится ли это М на Т без остатка или О>2N
Код: |
М:=N;
repeat
begin
М:=М+1;
if М> 2*N then
fl:=true;
end;
until ((М mod T)=0 or fl);
if fl then
write('No')
else
write(М);
|
Не поручусь за абсолютно правильный синтаксис, делаю по памяти.
IMHO С подобными задачками стыдно обращаться на форум, т.к. школьный курс рассчитан на среднего троечника, лучше делайте домашнее задание самостоятельно, пользы ДЛЯ ВАС будет больше, даже если Вы самоуверенно (в 13-14 лет то) считаете что Вам эта информатика в жизни задаром ненужна! |
|
Вернуться к началу |
|
|
|