Дано натуральное число N. Найти и вывести все числа  в интервале от 1 до N-1, у которых произведение  всех цифр совпадает с суммой цифр данного — Pascal(Паскаль)

{ Дано натуральное число N.  Найти и вывести все числа }
{ в интервале от 1 до N-1, у которых произведение }
{ всех цифр совпадает с суммой цифр данного       }

uses CRT;
var N, nn, i, A, B:integer;
BEGIN
    ClrScr;
    Write('N:= '); ReadLn(N);
    A:= 1;
    nn:= N;
    Write('Произведение ');
    while nn>0 do begin
        A:= (nn mod 10)* A;
        if (nn mod 10)>1 then
            Write(nn mod 10,'x');
        nn:= nn div 10;
    end;
    WriteLn(#8'=',A);
    WriteLn('Числа:');
    for i:=1 to N-1 do begin
        nn:= i;
        B:=1;
        while nn>0 do begin
            B:= (nn mod 10)* B;
            nn:= nn div 10;
        end;
        if A=B then Write(i:8);
    end;
    Write(#10#13'< Ok >'); ReadKey;
END.

Leave a Comment

31 − = 26