当前位置: 首页> 健康> 美食 > 王也天与葛优_日本食品包装设计图片大全_百度客服24小时电话_seo搜索引擎优化期末考试

王也天与葛优_日本食品包装设计图片大全_百度客服24小时电话_seo搜索引擎优化期末考试

时间:2025/7/28 7:52:40来源:https://blog.csdn.net/weixin_74261199/article/details/147287206 浏览次数:0次
王也天与葛优_日本食品包装设计图片大全_百度客服24小时电话_seo搜索引擎优化期末考试

    在计算n个数相加或者相乘再取余时,中间结果可能会溢出导致结果错误,这时可以使用同余原理

一、同余原理

①加法同余

 (a[1] + a[2] + ... + a[n])% m  ==>   (a[1] % m + a[2] % m + ... + a[n] % m)  % m

② 乘法同余

(a[1] x a[2] x ... x a[n])% m  ==>   ((a[1] % m) x (a[2] % m) x ... x ( a[n] % m))  % m

二、代码测试

public class CoresidualTest {private static void testAdd() {System.out.println("==============加法同余===========");int[] arr = new int[10];for (int i = 0; i < 10; i++) {//  生成10个随机数for (int j = 0; j < 10; j++) {arr[j] = (int) (5555687 * Math.random());}//  计算(arr[0] + ... + arr[9]) % 56 == (arr[0] % 56 + arr[1] % 56 + ... + arr[9] % 56) % 56int ans1 = 0, ans2 = 0;for (int j = 0; j < 10; j++) {ans1 += arr[j];ans2 += arr[j] % 56;}System.out.println(ans1 % 56 == ans2 % 56);}}private static void testMultiply() {System.out.println("==============乘法同余===========");int[] arr = new int[10];for (int i = 0; i < 10; i++) {//  生成10个随机数for (int j = 0; j < 10; j++) {arr[j] = (int) (10 * Math.random());}//  计算(arr[0] * ... * arr[9]) % 56 == ((arr[0] % 56) * (arr[1] % 56) + ... * (arr[9] % 56)) % 56int ans1 = 1, ans2 = 1;for (int j = 0; j < 10; j++) {ans1 *= arr[j];ans2 *= arr[j] % 500;}System.out.println(ans1 % 10 == ans2 % 10);}}public static void main(String[] args) {//  测试加法同余testAdd();//  测试乘法同余testMultiply();}
}

关键字:王也天与葛优_日本食品包装设计图片大全_百度客服24小时电话_seo搜索引擎优化期末考试

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: