首页 > 解决方案 > 嗯!% k 当 n,k 为整数类型时

问题描述

我正在尝试实现一个Java代码,其中n,k是整数(不能是长类型),它计算n的结果!%k 对于任何 n,k。例如,对于 n=18 和 k=71,我想得到 56 而不是 -18。

我认为这个算法应该通过模块数学来工作,因为结果是由 n=k*m+r 构建的(r 是除法)。任何想法如何用整数类型实现这个算法?

下面是我的代码并且正在工作,但不适用于任何 n,k:

    int n = scanner.nextInt();
    int k = scanner.nextInt();
    int result = 1;
    //n!
    while (n!=0){
        result = result * n;
        n=n-1;
    }
    System.out.println(result % k);

标签: javaalgorithm

解决方案


推荐阅读