Есть ответ 👍

Вводится двухзначное число,найти произведение цифр этого числа

248
311
Посмотреть ответы 2

Ответы на вопрос:


//прога на pascal`e var n, sum: int64; begin write ('введите число n: '); readln (n); n: =abs (n); sum: =1; while n> 0 do begin sum: =sum*(n mod 10); n: =n div 10; end; write ('произведение цифр числа n: ', sum); end.

program yabidlo;

var

  i, a: longint;

  x,

  u, j,  

  n, m : longint;

function fdiv (a, left : longint) : longint;

var

d,  

i : longint;

begin

d : = 1;  

for i : = left to trunc (sqrt (a)) do

if (a mod i = 0)

then

begin

d : = i;  

break;  

end;

if (d < > 1)

then

fdiv : = d

else  

fdiv : = a;

end;

function g (n, u : longint) : longint;

var

i : longint;  

begin

i : = 0;  

while (n mod u = 0)

do

begin

inc (i);

n : = n div u;

end;

g : = i;

end;

begin

assign (input, 'input.txt');

assign (output, 'output.txt');

reset (input);

read (a);

close (input);

m : = 0;

n : = 1;  

i : = fdiv (a, 2);

u : = 2;  

while (a > 1)

do

begin

n : = n * i;  

j : = 0;  

  while (a mod i = 0)

  do

begin

inc (j);

a : = a div i;

end;

if (j > m)

then

begin

m : = j;  

u : = i;  

end;

i : = fdiv (a, i + 2);

end;

x : = 1;

while (g (n * x, u) * n * x < m)

do

inc (x);

n : = n * x;  

rewrite (output);

write (n);

close (output);

end.

Популярно: Информатика