Sicily 1020. Big Integer | 大整数取模运算

该博客介绍了一种处理大整数取模运算的方法,利用模运算的性质简化计算。通过举例说明如何将大整数分解并进行逐位取模,最终得出n元组(x mod b1, x mod b2, ..., x mod bn),其中n <= 100, bi <= 1000,并给出相关代码实现。" 116564953,7949291,晨练计划:动态规划解决跑步策略,"['动态规划', '算法', '数学模型', '问题解决', '编程挑战']
摘要由CSDN通过智能技术生成

题目:
这里写图片描述

•题意:输入n个整数bi(1 <= i <= n),以及一个大整
数x,输出一个n元组(x mod b1,x mod b2,…,x
mod bn)
• 约束: n <= 100, 1 < bi <= 1000 (1 <= i <= n) 大整数x的位数
m <= 400并且非负

思路:
• mod 操作(对应C++中的%操作符)的性质:
• (a + b) % n == (a % n + b % n) % n
• (a * b) % n == ((a % n) * (b % n)) % n
• 所以我们要存储的值都是在模意义下的

• 大整数处理的常用办法
• 例如: 1234=(((1 * 10 + 2) * 10 + 3) * 10) + 4
• 再利用前面mod操作的性质我们可以知道:
• 1%7 = 1
• 12%7 = (((1 % 7) * 10) % 7 + 2) % 7 = 5
• 123%7 = (((12 % 7) * 10) %

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值