Мне нужно написать алгоритм, который получает 2 числа (n
и k
) и печатает результат (n!%k
).
Проблема в том, что мне нужно использовать только тип int для решения этой проблемы, поэтому для n=18
и k=71
он печатает -898433024
.
Это мой код:
import java.util.Scanner;
public class Try{
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
int n = myScanner.nextInt();
int k = myScanner.nextInt();
int azeret = 1;
for (int i=1; i<=n; i=i+1)
{
if (i%k!=0)
azeret = azeret * (i%k);
}
System.out.println(azeret);
}
}
Пожалуйста, помогите мне, я действительно потерян ...