数论专题测试——逆元

题意:给定n,m,令k=1+sigam(inv(i,n))mod 1000000007。   n,m小于等于10^7.

求k^k^k^k....后一个k是前一个k的指数,  求这个值对m的mod,知道指数循环节,这就是个傻逼题,然而考场就是不知道这个,少了点东西,所以出题人就是个傻逼....

指数循环节:a^b%c=>a^(b%phi(c)+phi(c))   %c (b>=phi(c))。

这个题b永远无限大,就可以使用,可以考虑预处理出10^7范围内的phi,然后递归,当c==1时,返回0,停止递归,因为任何数%1=0。

posted @ 2016-08-17 00:12  oyzx~  阅读(184)  评论(0编辑  收藏  举报