本文主要是介绍洛谷 U5122 T2-power of 2(费马小定理),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
U5122 T2-power of 2
题目提供者胡昊
题目描述
是一个十分特殊的式子。
例如:
n=0时 =2
然而,太大了
所以,我们让对10007 取模
输入输出格式
输入格式:
n
输出格式:
% 10007
输入输出样例
输入样例#1:
2
输出样例#1:
16
说明
n<=1000000
/*
费马小定理.
2^p-1%p=1(p为质数).
so 2^p-1在%p的剩余系下为1.
so 在该系下p-1=0.
so 2^n=2^(n%(p-1)).
*/
#include<iostream>
#include<cstdio>
using namespace std;
int n,m;
int mi(int a,int b,int mod)
{int tot=1;while(b){if(b&1) tot=(tot*a)%mod;a=(a*a)%mod;b>>=1;}return tot;
}
int main()
{scanf("%d",&n);m=mi(2,n,10006);printf("%d",mi(2,m,10007));return 0;
}
这篇关于洛谷 U5122 T2-power of 2(费马小定理)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!