Repeat циклы " дано целое число n (> 0 используя операции деления без остатка и взятия остатка от деления, вывести все его цифры, начиная с самой правой (разряда единиц)."
Var n,m:integer; begin writeln('Введи число:'); readln(n); repeat begin m:=n mod 10; n:=n div 10; writeln(m); end; until n=0; end.
inainainainaina0073
27.06.2020
В шестеричной системе алфавит состоит из цифр 0,1,...5. Четырехразрядное число по условиям задания (1) и (2) имеет вид aabb, где a=1,2,...5, b=0,1,...5. В развернутой записи число имеет вид a×6³+a×6²+b×6+b×1 = 6²×a(6+1)+b(6+1) = 7(36a+b) При этом по условию (3) можно записать, что k² = 7(36a+b) Чтобы число 7(36a+b) было полным квадратом, 36a+b должно быть кратно 7, а остаток от деления (36a+b) на 7 также должен быть полным квадратом. Получаем, что 36a+b = 7m² Минимальное значение 36a+b равно 36×1+0 = 36, следовательно m>2 (при m=2 получим 7×4=28, что меньше 36). При m=3 получаем 36a+b = 63 и при a∈[1;5], b∉[0;5] решений нет. При m=4 получаем 36a+b = 112 и находим a=3, b=4 - есть решение! При m=5 получаем 36a+b = 175 и при a∈[1;5], b∉[0;5] решений нет. При m=6 получаем 36a+b = 175 и получаем, что a=7, а это недопустимо. Дальше смысла проверять нет. Итак, a=3, b=4, число 3344₆ = 7×(36×3+4) = 784₁₀ = 28²
ответ: 3344
gusinica23
27.06.2020
Пусть первые две цифры равны a, вторые две равны b (1 ≤ a ≤ 5 и 0 ≤ b ≤ 5). Тогда искомое число - . Переведем его в десятичную систему счисления -
Если число - квадрат, то, так как делится на 7, то оно делится на ⇒ делится на 7. Пусть a = 1. Тогда b тоже 1. a не равно b ⇒ противоречие. Пусть a = 2. Тогда b = 3. Проверяем: . 1029 - не квадрат ⇒ не подходит. Пусть a = 3. Тогда b = 5. Проверяем: . 2303 - не квадрат ⇒ не подходит. Пусть a = 4. Тогда b = 5. Проверяем: . 4067 - не квадрат ⇒ не подходит. Пусть a = 5. Тогда b = 3. Проверяем: . 6321 - не квадрат ⇒ не подходит. Таким образом, получаем, что нет ни одного числа, которое удовлетворяет всем подсказкам.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Repeat циклы " дано целое число n (> 0 используя операции деления без остатка и взятия остатка от деления, вывести все его цифры, начиная с самой правой (разряда единиц)."
begin
writeln('Введи число:');
readln(n);
repeat
begin
m:=n mod 10;
n:=n div 10;
writeln(m);
end;
until n=0;
end.