永发信息网

C语言,算法, 数据结构。请问大神,我有一个很大的数,要对他取模,比如说n%10007。请问怎么做?

答案:2  悬赏:10  手机版
解决时间 2021-03-21 11:48
  • 提问者网友:树红树绿
  • 2021-03-21 03:47
C语言,算法, 数据结构。请问大神,我有一个很大的数,要对他取模,比如说n%10007。请问怎么做?
最佳答案
  • 五星知识达人网友:掌灯师
  • 2021-03-21 05:02
如果这个数是m,而m已经大到现成的整数数据类型已经无法记录了,那就把它分成好多现成的数据类型能够记录小一些的数的和或积,再用同余定理来解决:
(a+b)%c=(a%c+b%c)%c;——加法同余定理
(a*b)%c=(a%c*b%c)%c;——乘法同余定理
比如:1234567787654322这个数unsigned int已经不能记录了,但可表示为12345678*99999999,而12345678和99999999都可以用int型表达,那么1234567787654322%10007就可以表示为:(12345678%10007*99999999%10007)%10007。
全部回答
  • 1楼网友:夜余生
  • 2021-03-21 05:15
n%10007;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯