摘要:
扩展欧几里德 1、求解不定方程(ax+by=c,已知x,y,c,求a,b) 2、求解模的线性同余方程( axΞb(mod m) 对于未知数x的求解) 3、求模的逆元 axΞ1(mod m) 此时的x称为a的对模m乘法的逆元)1、求解不定方程:ax+by=cax0+by0=gcd(a,b);ax0*c... 阅读全文
摘要:
求一个数有N多少位,可用log10(N)+1,于是,求N!有多少位 log10(1*2*3*……*n)=log10(1)+log10(2)+……+log10(N)+1#include#includeusing namespace std;int main(){ int n,i,m,j; ... 阅读全文
摘要:
#include#includeusing namespace std;int main(){ int n; while(cin>>n){ int i,j,k=0,a[10000]; a[0]=1; for(i=1;i=0;i--) ... 阅读全文
摘要:
#includeusing namespace std;int a[20000],label[5000];//素数筛选int main(){ int n,max,j,t; while(cin>>n){ max=-1; for(int i=0;i>label[i... 阅读全文
摘要:
可以在string 后直接追加标识符 另外是数组#include#includeusing namespace std; int main(){ int n; cin>>n; string str; while(n--){ int c[10000]={};... 阅读全文
摘要:
int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}欧几里得欧几里得算法使计算两个数的最大公约数的传统算法,无论从理论还是效率上都是很好的算法。然而,当所给定的整数超出了计算机的表示能力,则计算过程就需要由用户来专... 阅读全文
摘要:
题目中并没有给出数据大小,所以应当考虑数据很大的时候,所以应当采用字符串的形式#includeusing namespace std;int main(){ char n[1000]={}; while(cin>>n&&n[0]!='0'){ int sum... 阅读全文