java - 嗯!% 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);
解决方案
推荐阅读
- machine-learning - “A”、“B”或“任何”类型的三元分类?
- git - git 显示已添加到 gitignore 的文件的更改?
- mysql - 如何避免mysql中的最大连接错误?
- typescript - 由同一函数声明的 Squash 变量声明
- delphi - 执行进程时 Gif 图像的动画不起作用
- bash - 陷阱命令未检测到终端调整大小 (SIGWINCH)
- sql - Postgresql 在另一个函数中调用一个函数,从主函数传递一个参数
- hexo - 版本 8.0.0 之后是否可以删除 hexo-theme-next 中的部分默认布局?
- java - Python中有没有像JPanel这样的组件?
- excel - 如何对所有 1,000 行求和以在 Excel 中获得 1,000 个总和?