1 / 51
文档名称:

05_数论.ppt

格式:ppt   大小:719KB   页数:51页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

05_数论.ppt

上传人:yzhfg888 2017/2/22 文件大小:719 KB

下载得到文件列表

05_数论.ppt

相关文档

文档介绍

文档介绍:蓝桥杯全国软件大赛辅导教程天农计算机系天农计算机系许晓华许晓华数论?素数?组素数?找素数?筛法求素数?孪生素数?金蝉素数?公约数与公倍数?欧几里德算法?有理数类?进制转换?N进制转换为 10 进制? 10 进制转换为 N进制?地址转换? 10 进制正小数转换为其他进制判断是否为素数#include < iostream > #include < cmath > using namespace std; int isprime(int n) { for(int i=2; i<= sqrt(n) ;i ++) { if(n%i ==0) return 0; } return 1; } int main() { cout <<isprime(17); return 0; } #include < iostream > using namespace std; int isprime(int n) { for(int i=2; i* i<= n ;i ++) { if(n%i ==0) return 0; } return 1; } int main() { cout <<isprime(17); return 0; }或组素数 2013 第四届 Java 预赛高职第 2题?素数就是不能再进行等分的数。比如: 2 3 5 7 11 等。? 9 = 3 * 3 说明它可以 3等分,因而不是素数。?我们国家在 1949 年建国。如果只给你 1 9 4 9 这 4个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒着摆放啊,我们不是在脑筋急转弯!) ,那么,你能组成多少个 4位的素数呢? ?比如: 1949 , 4919 都符合要求。?请你提交:能组成的 4位素数的个数,不要罗列这些素数!! #include < iostream > using namespace std; int isprime(int n) { for(int i=2;i * i< n;i ++) { if(n%i ==0) return 0; } return 1; } int main() { int a,b,c,d,sum =0; int m[4]={1,9,9,4}; for(a =0;a<4;a++) for(b =0;b<4;b++) for(c =0;c<4;c++) for(d =0;d<3;d++) { if(a != b&&a != c&&a != d&&b != c&&b != d&&c !=d) { if(isprime(m[a ]* 1000+m[b] * 100+m[c] * 10+m[d])) sum++; }} cout <<sum; return 0; } 答案: 12全排列的解法#include < > #define N 4// 对4个数进行全排列 int sum=0; int isprime(int x) { int i; for(i =2;i * i<= x;i ++) { if(x%i ==0)return 0; } return 1; } void perms(int p[],int start) { int i,t; if(start ==N-1) { if(isprime(p[0] * 1000+p[1] * 100+p[2] * 10+p[3])) sum++; return; } for(i = start;i < N;i ++) // 注意 i从 start 开始,不从 0开始{ t= p[i];p[i ]= p[start];p[start ]=t;// 交换 perms(p,start+1);// 递归 t= p[i];p[i ]= p[start];p[start ]=t;// 交换回来}} int main() { int p[N ]={1,9,4,9}; perms(p,0);// 从数组中索引号为 0的元素开始进行排列 printf("%d",sum ); return 0; }找素数(12 分) 2012 决赛 C高职第 1题?素数就是不能再进行等分的整数。比如: 7, 11 。而 9不是素数,因为它可以平分为 3等份。一般认为最小的素数是 2,接着是 3,5, ... ?请问,第 100002( 十万零二)个素数是多少? ?请注意: “2”是第一素数, “3”是第二个素数, 依此类推。?不需要提交源代码,只要写出准确的结果即可! ?题目可能改编自欧拉计划第 7题#include < > int isPrime(int n) { int i; for(i =2;i * i<= n;i ++) { if(n%i