2. определить, что является результатом работы программы при =100, =3 program z2; function largest_power (x, y: longint): word; var n: word; p: longint; begin p: =y; n: =0; while x< =x do begin p: =y*p; inc(n); end; largest_power: =n; end; begin writeln('введите значения a и b'); readln (a,b); writeln('n=', largest_power (a, b)); end.

лялялятраляляля1 лялялятраляляля1    2   03.09.2019 04:50    5

Ответы
GAGHHy GAGHHy  01.09.2020 07:22
Эта программа не делает ничего. Абсолютно. Зависает навсегда. В функции есть строка whle x<=x, что позволяет ей крутиться вечно. Я думаю, что то пошло не так, и раз уж так и произошло, то по сути, largest power - это степень не превышающего наименьшего числа, то есть, наибольшая степень, в которую можно возвести число, что бы итог был меньше, чем другое число. И тут нужно лишь заменить while x<=x на while p<=x и вот, она на тесте 100 3 даст ответ 4, так как 3*3*3*3=27*3<100, а вот 3*3*3*3*3>100. Но это лишь предположения. А так ваша программа выводит о введении числа, считывает их, ставит на вывод "n=" и уходит вдаль, ожидая, пока число будет больше самого себя
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика