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.