• Условие этой задачи очень простое. Найдите наименьшее K такое, что K! делится на N без остатка. K! = 1·2·3·...·(K −1)·K.

Ответы 1

  • К – это число, которое мы будем увеличивать на единицу, чтобы найти то минимальное, которое удовлетворяет заданию. N вводится пользователем. Оно будет критерием проверки деления нацело. var k, n, mult : integer; b : boolean; begin readln(n); k := 1; while (b = false) do begin mult := 1; for i:integer := 1 to k do mult := mult * i; if (mult mod n = 0) then Как только мы получили целое частное, сразу меняем false на true, и после этого цикл прекращает свою работу: b := true else k := k + 1; end; writeln(k:5, mult:5, n:5); end.

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years