基本算法NOIP.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本算法c语言版 一、数论算法 1、求两个数的最大公约数 原理:欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r 因此d是(b,a mod b)的公约数 假设d 是(b,a mod b)的公约数,则 d | b , d |r ,但是a = kb +r 因此d也是(a,b)的公约数 因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证int gcb(int a,int b){ if(b==0) return a; else { return gcb(b,a %b); } 2、求最小公倍数 int lcm(int a,int b){ int t,p; if(ba){t=a;a=b;b=t;} p=a; while((p%b)!=0)p=p+a; return p; } 3、求素数 1)小范围内判断一个数是否为质数 int primc(int a){ int i,p; p=sqrt(a); for(i=2;i=p;i++) if(a%i==0) break; if(i=p) return 0; else return 1; } 2)判断 longint范围内的数是否为素数(包含求50000以内的素数表) int prc[50000],prim[50000]; void getprimc(){ long int i,j; for(i=2;i50000;i++) prc[i]=1; prc[1]=0; i=2; while(i50000) { if(prc[i]) { j=i*2; while(j50000) { prc[j]=0; j=j+i; } } i++; } j=0; for(i=2;i50000;i++) { if(prc[i]) {j++;prim[j]=i;} } prim[0]=j; /* for(i=1;i=j;i++) { printf(%ld ,prim[i]); if(i%1000==0) {printf(\n);getch();} } //7759 15193 34603 */ } int primc2(long int a){ long int i,p; getprimc(); p=prim[0]; printf(pnum=%ld\n,p); for(i=1;ip;i++) if(prim[i]==a) return 1; else if((a%prim[i]==0)||(aprim[i])) return 0; } 二、高精度计算 1、高精度加法与乘法 #include string.h #include conio.h char str1[30],str2[30]; int a[50],b[50],c[100],len1,len2,len; //高精度加法 int gjdplus(){ int i,k,len; len1=strlen(str1); len2=strlen(str2); k=0; for (i=len1;i=0;i--) { a[

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档