var a,b,s: integer; begin readln(a); while a>=10 do begin b:=a mod 10; s:=s+sqr(b); a:=a div 10; end; a:=a*a; s:=s+a; writeln(s); readln;
end. В s накапливаем сумму квадратов, b это остатки от деления на десять, после цикла прибавляем последнюю цифру,которая меньше десяти, предворительно возведя её в квадрат!
Answers & Comments
var a,b,s: integer;
begin
readln(a);
while a>=10 do
begin
b:=a mod 10;
s:=s+sqr(b);
a:=a div 10;
end;
a:=a*a;
s:=s+a;
writeln(s);
readln;
end.
В s накапливаем сумму квадратов, b это остатки от деления на десять, после цикла прибавляем последнюю цифру,которая меньше десяти, предворительно возведя её в квадрат!