ACM常见问题1

取模:

取模运算n%p的结果与p的符号无关,由n决定。

例如:7%4=3,-7%4=-3,7%-4=3,-7%-4=-3;

基本的运算:

(a+b)%p=(a%p+b%p)%p

(a-b)%p=(a%p-b%p)%p

(a*b)%p=(a%p*b%p)%p

(a^b)%p=((a%p)^b)%p

重要定理:

ab(%p) 对任意的c都有(a+c)(b+c)(%p);

两数想成同样符合 ab(%p) 对任意的c都有  (ac)(bc)(%p);

ab(%p),cd(%p)则

(a+c)(b+d)(%p)

(a-c)(b-d)(%p)

(ac)(bd)(%p)

(a/c)(b/d)(%p)


应用:

1,判断奇偶数 x%2=1 奇数 x%2=0 偶数。

2,判断素数 试除法 查余数是否为零 表示整除。

3,最大公约数,最小公倍数 t=a%b; a=b;b=t;循环;

4,模幂运算  例如求3333^5555 的个位数几 运用上面基本运算里的第四个得到3333^55555=>3^5555(%10)然后找规就行了。

5,孙子问题(中国剩余定理)

维基百科里面讲的很详细:zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E5%89%A9%E4%BD%99%E5%AE%9A%E7%90%86 

这里用了weile()循环 ,这里我们来如果不能除得余数为1,就加上一个Mi继续除直到除到为1;

6,凯撒密码 

这个也是比较简单 (a+x)%26  (b-x)%26 就是这个样子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值