整理一下自己遇到的两种大数取余类型的题目,如果遇到其他类型以后还会接着去补充。
一、A^B mod m
几个基本公式:
A < m,且B是一个较大的数,A^B非常巨大,先求A^B再用m取模是不现实的。利用上面公式,我们可以进行如下代换:
算法:
//计算exp=a^n mod m
//输入:a,n,m
//输出:exp
int exp_mod(int a,int n,int m)
{
int exp,A; //exp表示a^n,A是A_i
ex
整理一下自己遇到的两种大数取余类型的题目,如果遇到其他类型以后还会接着去补充。
一、A^B mod m
几个基本公式:
A < m,且B是一个较大的数,A^B非常巨大,先求A^B再用m取模是不现实的。利用上面公式,我们可以进行如下代换:
算法:
//计算exp=a^n mod m
//输入:a,n,m
//输出:exp
int exp_mod(int a,int n,int m)
{
int exp,A; //exp表示a^n,A是A_i
ex