多次乘方运算 超级数

 

一、超级数

【题目描述】:

众所周知,多次加法运算是乘法,多次乘法运算是乘方,那么多次乘方运算呢?

 

 

但是,这个数光是想想就远远超过了整个宇宙的大小,所以你只要求出它的值MOD P就可以了

 

【输入】:

第一行两个数NP,如题目描述。

第二行N个数,表示a1~n

 

【输出】:

仅一个数,表示它的值mod p的结果。

 

【样例输入】:

5 13

2 2 2 2 2

 

【样例输出】:

3

 

【说明】:

20%的数据N3ai<1000

40%的数据aip为质数或1

100%的数据N20aipMaxlongint

 

算法简介:

如果X < PHI(C) 则 A^X MOD C = A^(X MOD PHI(C)) MOD C 

 否则 A^X MOD C = A^(X MOD PHI(C)+ PHI(C)) MOD C 

 

 

PHI(X)函数表示的是X前有多少个数与他互质......

 

 

利用欧拉函数来做,不懂的可以去找去找我初中老师,证明可见:http://hi.baidu.com/aekdycoin/blog/item/b6f1762565bb403fc8955908.html

 

 

 

关于欧拉函数:http://wenku.baidu.com/view/2cdefb62caaedd3383c4d35c.html

 

 

这个是新的,话说大家可以把我的程序翻出来,把PHI中的TRUNC改成ROUND,就对了
                   

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值