博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
欧拉定理
阅读量:6474 次
发布时间:2019-06-23

本文共 1926 字,大约阅读时间需要 6 分钟。

http://acm.cug.edu.cn/JudgeOnline/problem.php?cid=1030&pid=0

                      Problem A: 高次同余Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 43  Solved: 4[Submit][Status][Web Board]Description在数论专题时我给大家讲过快速模幂,但是今天的题目只用快速模幂算法是解决不了的,A^B mod C 中如果B很大怎么处理呢? 想想我数论专题讲的其他内容吧!我的题目就是要你编程求出A^B mod C的值是多少。 Input有多组测试数据,每组测试数据为一行包括三个数A,B,C由一个空格分开。 (1<=A,C<=1000000000,1<=B<=10^10000).Output 对于每组测试数据,输出一个整数,代表A^B mod C的结果。Sample Input3 2 4 3 4 5 2 10 1000 3 1000000000 7Sample Output1 1 24 4HINT提示:x≥ϕ (n)时,ax≡a(x mod ϕ(n)+ ϕ(n)) (mod n)

 知识点:

定义:在数论,对正整数n,欧拉函数是小于等于n的数中与n互质的数的数目。ϕ (n) =   1..n中与n互质的数的个数如何求ϕ (n)?素因子展开+容斥原理令n = p1r1p2r2...pkrkϕ(n)=n*(1-1/p1)*(1-1/p2)*...*(1-1/pk)(为什么?)提示:欧拉函数是积性函数——若m,n互质,即:  φ(mn)=φ(m)φ(n)“被认为是数学世界中最美妙的定理之一”若a和n互质,则aϕ(n)≡1 (mod n)  (a的ϕ(n)次方)欧拉定理的推广形式当x≥ϕ (m)时,ax≡a(x mod ϕ(n)+ ϕ(n)) (mod n)不需要互素用途:计算高阶幂次取模(如何计算?)

 

 

#include
#include
#include
using namespace std; #define eps 1e-8 int Eler(int n) { int i; double tmp=(double)n; for(i=2;i*i<=n;i++) { if(n%i==0) { tmp*=(1-1.0/i); while(n%i==0) n/=i; } } if(n>1) tmp*=(1-1.0/n); tmp+=eps; return (int)tmp; } int Mod(string b,int q) { int ret=0; for(int i=0;i
0) { if(cnt & 1) ret = (long long)ret*base%mod; cnt = cnt >> 1; base = (long long)base*base%mod; } return ret; } int main() { int a,c; string b; int i; while(cin>>a>>b>>c) { int el=Eler(c); int tmp=0; for(i=0;i
el)break; } if(tmp>el)tmp=Mod(b,el)+el; //else tmp; long long ans=multy((long long)a%c,(long long)tmp,c); printf("%lld\n",ans); b.clear(); } return 0; }

 

转载于:https://www.cnblogs.com/XDJjy/p/3878699.html

你可能感兴趣的文章
JAVA虚拟机05--面试必问之JVM原理
查看>>
Algs4-2.3.1如何切分数组
查看>>
uva 10815 - Andy's First Dictionary(快排、字符串)
查看>>
观察者模式
查看>>
在properties.xml中定义变量,在application.xml中取值问题
查看>>
js 数组
查看>>
Linux scp命令详解
查看>>
struct和typedef struct
查看>>
cell reuse & disposebag
查看>>
【故障处理】ORA-12545: Connect failed because target host or object does not exist
查看>>
云时代,程序员将面临的分化
查看>>
js判断移动端是否安装某款app的多种方法
查看>>
学习angularjs的内置API函数
查看>>
4、输出名称 Exported names
查看>>
paste工具
查看>>
Pre-echo(预回声),瞬态信号检测与TNS
查看>>
【转载】如何发送和接收 Windows Phone 的 Raw 通知
查看>>
poj2378
查看>>
【译】SQL Server误区30日谈-Day12-TempDB的文件数和需要和CPU数目保持一致
查看>>
Java文件清单列表
查看>>