Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ поиск чисел, которые удовлетворяют заданым

Автор: Аня 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.