Pascal. Напишите программу, на вход которой подается с клавиатуры шестизначное число, и она выводит чисто с перевернутыми тройками цифр. Например, из числа 123456 должно получиться число 321654.Строки, массивы, условные операторы не использовать.
Ответы
Код программы (отсутствуют строки, массивы, условные операторы) :
var a, b, temp: integer;
begin
writeln('Введите 6-ое число');
readln(a);
temp := a div 1000;
b:= temp mod 10 * 100000;
temp:= temp div 10;
b:= b + temp mod 10 * 10000;
b:= b + temp div 10 * 1000;
temp := a mod 1000;
b:= b + temp mod 10 * 100;
temp:= temp div 10;
b:= b + temp mod 10 * 10;
b:= b + temp div 10;
writeln('Результат: ', b);
end.
Ответ:
var a:integer;
begin
write('Введите число: ');
readln(a);
writeln ('Получилось: ',a div 1000 mod 10,a div 1000 div 10 mod 10,a div 1000 div 100,a mod 1000 mod 10,a mod 1000 div 10 mod 10,a mod 1000 div 100)
end.
Объяснение:
Отделяем первую тройку: a div 1000
Выводим последнюю цифру первой тройки: a div 1000 mod 10
Выводим среднюю цифру первой тройки: a div 1000 div 10 mod 10
Выводим первую цифру первой тройки: a div 1000 div 100
Со второй тройкой поступаем аналогично
div - целочисленное деление
mod - остаток от целочисленного деления
На циклы запрета не было:
var a,p3,v3,r:integer;
begin
write('Введите число: ');
readln(a);
r := 0;
p3:=a div 1000;
while p3 <> 0 do
begin
r := r * 10 + (p3 mod 10);
p3 := p3 div 10;
end;
v3:=a mod 1000;
while v3 <> 0 do
begin
r := r * 10 + (v3 mod 10);
v3 := v3 div 10;
end;
write('Получилось: ',r)
end.
p3:=a div 1000;
v3:=a mod 1000;
// также делим число на первую и вторую тройки
Через цикл отделяем последнюю цифру тройки, переменную куда записываем новое число умножаем на 10,чтобы сохранить разряд нового порядка цифр.