среда, 7 августа 2013 г.

9. N-значные числа

Найти количество N-значных чисел, у которых сумма цифр равна их произведению. Вывести наименьшее среди таких чисел для заданного N (N < 10).

Код решения:
*****
var
k,min:longint;
max,l,n:integer;
procedure recurs(i,a,d,s:longint);
var
j:integer;
begin

   if i=0 then
   begin
        if d=s then
        begin
             k:=k+1;
             if min=0 then min:=a;
        end;
   end
   else
   begin
          if d<100 then
            for j:=1 to 9 do
               recurs(i-1,a*10+j,d*j,s+j);
   end;
end;
begin
   read(n);
   for l:=1 to 9 do
       recurs(n-1,l,l,l);
   if n=1 then writeln(10,' ',0) else writeln(k,' ',min);
end.

*****

1 комментарий: