Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с Pascal.
Перевернуть любое введеное натуральное число и определить сумму его цифр.

Иван Седых Профи (565), закрыт 14 лет назад
Лучший ответ
Gennady Гений (60225) 14 лет назад
Доброго времени суток.

Все достаточно просто.

ReadLn(N);
S := 0; {сумма цифр}
M := 0; {перевернутое число}
while N > 0 do begin
d := N mod 10; {цифра младшего разряда}
N := N div 10; {число без младшего разряда}
S := S + d;
M := M * 10 + d;
end;
WriteLn('Сумма цифр = ', S);
WriteLn('"перевернутое" число = ', M);

Можно еще сделать через строки. Это позволит увеличить разрядность входных чисел до 255. Исходное число читается в строковую переменную, а затем выводится начиная с младшего разряда.

ReadLn(S);
M := 0; {сумма цифр}
Write('"перевернутое" число = ');
for i:=Length(S) downto 1 do begin
Write(S[ i ]);
M := M + Ord(S[ i ]) - Ord('0');
end;
WriteLn;
WriteLn('Сумма цифр = ', S);

Остальное (объявление переменных и пр. ) сами, т. к. "помогите" <> "сделайте за меня".

Удачи!
Остальные ответы
Сергей Профи (742) 14 лет назад
var k,m,n:integer;
begin
readln (m);
while (m<>0) do
begin
n:=n*10+(m mod 10);
k:=k+(m mod 10);
m:=m div 10;
end;
writeln (n);
writeln (k);
end.

Балашов Артем Ученик (203) 3 года назад
Переворот числа:
Var s:string; a,i:integer;
begin
readln(a);
str(a,s);
for i:=length(s) downto 1 do
write(s[i]);
end.

Сумма чисел:
Var s:string; a,i,x,t,l:integer;
begin
readln(a);
str(a,s);
for i:=1 to length(s) do begin
val(s[i],x,l);
t:=t+x;
end;
writeln(t);
end.
Похожие вопросы