Предмет: Информатика,
автор: tommylee1999
Помогите решить задачу. Поменять местами первую и последнюю цифру натурального числа. решение в паскале. Тема while, repeat. Подробно, понятно пжлст
Ответы
Автор ответа:
0
var n,m,k1,k2,p:integer;
begin
write('n = '); readln(n);
k1:=n mod 10; //последняя цифра
k2:=n; p:=1;
while k2>9 do
begin
k2:=k2 div 10; // первая цифра
p:=p*10; // нужная степень числа 10
end;
m:=k1*p+(n mod p - k1)+k2;
writeln('m = ',m);
end.
Пример:
n = 326901574
m = 426901573
begin
write('n = '); readln(n);
k1:=n mod 10; //последняя цифра
k2:=n; p:=1;
while k2>9 do
begin
k2:=k2 div 10; // первая цифра
p:=p*10; // нужная степень числа 10
end;
m:=k1*p+(n mod p - k1)+k2;
writeln('m = ',m);
end.
Пример:
n = 326901574
m = 426901573
tommylee1999:
Все так, Спасибо большое. Только вы переменную p забыли написать в идентификатор
Похожие вопросы
Предмет: Математика,
автор: kdima2449
Предмет: География,
автор: tsarenko2020c
Предмет: Қазақ тiлi,
автор: natavova09
Предмет: Английский язык,
автор: Аноним
Предмет: Русский язык,
автор: Mart500