Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2019, 21:06   #1
Afonichka
 
Регистрация: 27.10.2019
Сообщений: 4
По умолчанию Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9.

необходимо написать на языке паскаль решение задачи через оператор repeat.
ответ: 18, 45, 90, 99.
Вот что имею. Где-то ошибка, и выдается неверный ответ. Подтолкните к правильному решению.

var i,j,m, s,s1,z,sravn:integer;
begin
i:=10;
repeat
m:=i;s:=0; sravn:=0;
s:=s + m mod 10; m:=m div 10;
m:=i;j:=2;
repeat
z:=m*j;s1:=0;
if z<0 then
s1:=s1+z mod 10; z:=z div 10;
if s=s1 then inc(sravn);
if sravn=8 then writeln('ЧИСЛО ',i);
until j>9; inc(j);
until i>99;inc(i);
end.
Afonichka вне форума Ответить с цитированием
Старый 27.10.2019, 21:37   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Тут много ошибок.
1.
Код:
s:=s + m mod 10; m:=m div 10;
Надо понимать, что s - сумма цифр числа. Но это не так. Вероятно тут можно написать так:
Код:
s := m mod 10 + m div 10;
2. При умножении двухзначного числа может получиться и трёхзначное.
В этом случае можно сумму цифр нового числа вычислять в предположении, что все числа трёхзначные:
Код:
newn := m * j; {j = 2,3,4..9}
news := newn mod 10 + (newn div 10) mod 10 + newn div 100;
Я не знаю, в каком Паскале так пишут:
Код:
until j>9; inc(j);
until i>99;inc(i);
Инкремент переменных должен быть внутри цикла:
Код:
...
       inc(j);
   until j>9;
   inc(i);
until i>99;inc(i);
Как-то так, ...
ViktorR на форуме Ответить с цитированием
Старый 27.10.2019, 21:45   #3
Afonichka
 
Регистрация: 27.10.2019
Сообщений: 4
По умолчанию

Большое спасибо Виктор, буду исправлять и проверять.
Afonichka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти все двузначные числа, сумма квадратов цифр которых делится на 17 на Assembler перси Помощь студентам 3 02.04.2016 17:33
Задача на Pascal ABC: Два трёхзначных числа a и b. В интервале от a до b все числа, сумма цифр которых кратна 3, выдать зеркально Andrew5674 Помощь студентам 5 16.04.2013 23:00
определить все двузначные числа сумма квадратов цифр которых кратна числу 15 [Pascal] mrRastom Помощь студентам 5 16.12.2010 09:47