费马小定理—— HDU4704 Sum
来源:互联网 发布:c51单片机流水灯程序 编辑:程序博客网 时间:2024/06/06 01:09
费马小定理:
假如p是素数,且a与p互质,那么a^(p-1) = 1 (mod p)。
应用:
说明了模素数的指数是有循环节的,且循环节长度为p-2,减少运算量2^n%m == ( 2^(n%(m-1))* 2^(n/(m-1)*(m-1)) )%m == (2^(n%(m-1)))%m * ((2^k)^(m-1))%m == (2^(n%(m-1)))%m * 1 == (2^(n%(m-1)))%m;
HDU4704 Sum
//求2^(n-1); n很大#include<iostream>#include<string>#include<vector>#include<algorithm>#include<queue>#include<cstdio>#include<cstring>#include<cmath>#include<map>using namespace std;typedef long long ll;const int INF_INT = 0x3f3f3f3f;const ll INF_LL = 1e18;const int MOD=1e9 + 7;string s;ll pow_mod(ll a,ll n,ll m){ ll re = 1; while(n>0) { if(n%2) { re = re*a%m; } a = a*a%m; n/=2; } return re;}int main(){ ios_base::sync_with_stdio(false);// freopen("data.txt","r",stdin); while(cin>>s) { ll sum = 0; for(int i=0;i<s.size();i++) { sum = (sum*10+s[i]-'0')%(MOD-1); } cout << pow_mod(2,sum-1,MOD)<<endl; }}
阅读全文
0 0
- 费马小定理—— HDU4704 Sum
- HDU4704:Sum(费马小定理 & 隔板法)
- Hdu4704 Sum(又见费马小定理)
- 20160322 HDU4704 Sum(费马小定理+快速幂)
- hdu4704 费马小定理+快速幂
- HDU4704 Sum
- hdu4704之费马小定理+整数快速幂
- hdu4704 && FZU1759 && HYSBZ3884 &&POJ3090 欧拉函数 || 欧拉降幂 ||费马小定理
- hdu4704--sum--大数幂取模
- hdoj4704 Sum ( 费马小定理 )
- hdu 4704 sum 费马小定理
- HDU 4704 Sum 费马小定理
- hdu - 4704 - Sum(费马小定理)
- HDU 4704 Sum (费马小定理)
- HDU 4704 Sum 费马小定理+快速幂
- HDU 4704Sum(费马小定理+快速幂)
- HDU 4704 Sum(快速幂+费马小定理)
- [数论]HDU 4704 Sum 费马小定理
- 深入浅出数据库索引原理
- 期望最大(EM)算法
- Esri大赛:添加Arcgis Android sdk 100.1.0
- DDA遍历均匀栅格
- apache模块动态编译添加
- 费马小定理—— HDU4704 Sum
- oracle 创建数据库 表空间 用户 授权和toad导入导出数据库
- POI常用设置
- pthread_getspecific 线程局部存储
- oracle用户管理(1)
- 【功能介绍】ITSOM企业级应用SaaS平台——项目管理
- 创建多线程笔记
- Apache Security-1 简介
- Android开发学习(6)Maven管理项目