Помогите с решением, с помощью цикла repeat и whie, оч нужно
В трехзначном числе зачеркнули первую цифру слева. Когда полученное двузначное число умножили на 7, то получили исходное число. Найдите все такие числа.
Другие языки программирования и технологии
Помогите решить задачу Pascal
k:=100:;
while (k<1000) do begin
h:=k mod 100://остаток от деления
if (h*7=k) then writeln(h);
k:=k+1;
end;//кон цикла
---
с repeat аналогично, только условие цикла наоборот поставить
---
ващето такое число только одно -350
while (k<1000) do begin
h:=k mod 100://остаток от деления
if (h*7=k) then writeln(h);
k:=k+1;
end;//кон цикла
---
с repeat аналогично, только условие цикла наоборот поставить
---
ващето такое число только одно -350
Рассмотрим математическую модель таких чисел:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Пусть трёхзначное число задано как 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.
И всего делов то!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Пусть трёхзначное число задано как 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.
И всего делов то!
Похожие вопросы
- Пожалуйста помогите решить задачу Pascal
- Помогите решить задачи Pascal
- Помогите решить задачу pascal. Двумерные массивы (подробно)
- Помогите решить задачу через процедуры PASCAL
- Помогите с задачей pascal пожалуйста. одна осталась до зачёта!
- Какой язык программирования сможет решить задачу? (Pascal не смог)
- Помогите решить задачу в Pascal!
- Помогите решить задачу по Turbo Pascal пожалуста
- Помогите решить задачи на Pascal...
- Помогите решить задачу на языке Pascal