Составьте программу нахождения наименьшего натурального N-значного числа X (Х>=10),...

0 голосов
123 просмотров

Составьте программу нахождения наименьшего натурального N-значного числа X (Х>=10), равному утроенному произведению своих цифр. pascal


Информатика (12 баллов) | 123 просмотров
Дан 1 ответ
0 голосов

Максимальное число, составленное из утроенного произведения цифр  будет 
9*3*N  -  не  может быть больше 54,  т.е.  
N может быть только 1 или 2.  По условию х>=10  ->  N=2  (N -порядок числа).
Поэтому искать нужно среди чисел от 11 до 54.  Решение - число 15.

var n,m: integer;
begin
  write('n = ');  readln(n);
  if n=2 then
  begin    m:=11;
    repeat
      if (m mod 10)*(m div 10)*3=m then
      begin
        writeln('число:  ',m);
        m:=55;
      end;
      m:=m+1;
    until m>54;
  end
  else  writeln('нет решения');
end.


(9.7k баллов)
0

В Вашей задаче утроенное произведение цифр, а не утроенная сумма, поэтому обоснование не верно. Хотя , кроме двузначных таких чисел нет. В подтверждение программка.

0

var i,n,m,s,k,r: integer; begin write('задайте N '); readln(n); m:=trunc(power(10,n-1)); s:=1; r:=0; for i:=m to m*10-1 do begin k:=i; repeat s:=s*(k mod 10); k:=k div 10; until k=0; s:=s*3; if s=i then begin writeln('число = ',i); r:=1; break; end; s:=1; end; if r=0 then writeln('нет таких чисел'); end.