Автор: Аня 18.10.2004 18:44
1)Найти первые p таких натуральных чисел N, сумма цифр которых равна K, а сумма цифр числа N*N=K*K
Например, число одиннадцать удовлетворяет этому условию:
11
1+1=2
11^2=121
1+2+1=2^2=4
Спасибо!
Автор: xds 18.10.2004 20:13
Код
program Num;
function DigSum(n: LongInt): Integer;
var
s: Integer;
begin
s := 0;
while n <> 0 do
begin
Inc(s, n mod 10);
n := n div 10;
end;
DigSum := s;
end;
var
p: Integer;
n: LongInt;
begin
Write('p>');
Readln(p);
n := 1;
while p > 0 do
begin
while DigSum(Sqr(n)) <> Sqr(DigSum(n)) do Inc(n);
Write(n, ' ');
Inc(n);
Dec(p);
end;
Writeln;
end.