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

Помогите решить задачу Pascal

Помогите с решением, с помощью цикла repeat и whie, оч нужно
В трехзначном числе зачеркнули первую цифру слева. Когда полученное двузначное число умножили на 7, то получили исходное число. Найдите все такие числа.
k:=100:;
while (k<1000) do begin
h:=k mod 100://остаток от деления
if (h*7=k) then writeln(h);
k:=k+1;
end;//кон цикла
---
с repeat аналогично, только условие цикла наоборот поставить
---
ващето такое число только одно -350
Михаил Орловский
Михаил Орловский
2 984
Лучший ответ
Рассмотрим математическую модель таких чисел:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Пусть трёхзначное число задано как N1N2N3 (Nx - цифра) .
Тогда действия над такими числами можно представить таким образом:

N1N2N3 mod 100 = N2N3
N2N3 * 7 = N1N2N3

Рассмотрим значение N3, которое не меняется при умножении на 7.
Для этого проанализируем таблицу умножения на 7:

0*7 = 0, 1*7 = 7, 2*7 = 14, 3*7 = 21, 4*7 = 28, 5*7 = 35, 6*7 = 42, 7*7 = 49, 7*8 = 56, 7*9 = 63.

Только в двух случаях последняя цифра числа не меняется, при N3 = 0 или 5.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
При N3 = 0 нам остаётся вариант N2 * 7 = N1N2, т. е. N2 не меняется.
Это значит, что аналогично N3 при умножении на 7 цифра не меняется, но в отличии от N3 она не может быть равной 0.

Т. е. остаётся только вариант N2 = 5.
При котором существует только одно начальное число 350.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
При N3 = 5 выражение в выражении N2N3 * 7 = N1N2N3 значение N2 в правой части получается прибавлением 3 к N2*7 и число должно быть больше нуля.

1*7+3 = 10, 2*7+3 = 17, 3*7+3 = 24, 4*7+3 = 31, 5*7+3 = 38, 6*7+3 = 45, 6*8 = 59, 7*9+3 = 66.

Как видно: таких чисел нет!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Вывод: Программа должна вывести только одно число 350

begin
WriteLn('350');
WriteLn('50 * 7 = 350');
end.

И всего делов то!
SS
Sanches Sanches
69 433