profile
Опубликовано 5 лет назад по предмету Информатика от majoka

Написать программу на паскале. Для того чтобы проверить, как ее ученики умеют считать, Мария Ивановна каждый год задает им на дом одну и ту же задачу – «Для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на себя N раз) делится на A». Из года в год и от ученика к ученику меняется только число A. Вы решили помочь будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу Формат входных данных. Во входном файле содержится единственное число A (1<=A <=1000000000). Формат выходных данных. В выходной файл вывести единственное число N.

  1. Ответ
    Ответ дан Aillianna

    var

       a, n: longint;

       text: textfile;

    function myMod(num, power, divider: longint): longint;

    var

       rest, i: longint;

    begin

       rest:=1;

       divider := abs(divider);

       for i := 1 to power do

       begin

           rest := rest * num;

           rest := rest mod divider;

       end;

       

       myMod := rest;

    end;

    begin

       assign(text, 'input.txt');

       

       {rewrite(text);

       writeln(text, 1);

       close(text);}

       

       reset(text);

       read(text, a);

       writeln('a=', a);

       close(text);

       

       n := 0;

       repeat

           n := n + 1;

       until MyMod(n, n, a) = 0;

       

       writeln('n=', n);

       assign(text, 'output.txt');

       rewrite(text);

       writeln(text, n);

       close(text);

       

       {reset(text);

       read(text, n);

       writeln('n=', n);

       close(text);}

    end.

Самые новые вопросы