欢迎来到天天文库
浏览记录
ID:48050151
大小:268.50 KB
页数:26页
时间:2019-05-06
《acm程序设计-计算简单题.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、简单计算题ACM程序设计列出完数题目内容自然数中,完数寥若晨星,请在从1到某个整数范围中打印出所有的完数来。所谓“完数”是指一个数恰好等于它的所有不同因子之和。例如,6是完数,因为6=1+2+3。而24不是完数,因为241+2+3+4+6+8+12(=36)。输入描述输入数据中含有一些整数n(12、0:6284963题目分析如果针对每个整数都搜索一次完数,时间会花费较多,由于完数较少,可以先找出10000以内的所有完数,然后再针对n查表。4参考源代码#includeintmain(void){inti,j,k=0,n,sum,a[100];for(i=2;i<10000;i+=2)//已知完数为偶数{sum=1;for(j=2;j<=i/2;j++){if(i%j==0)sum+=j;}if(sum==i)a[k++]=i;}5参考源代码while(scanf("%d",&n)==13、){printf("%d:",n);for(i=0;i4、输出样例NoYesNo8题目分析三位对称只须判断个数与百位是否相等。9参考源代码#include#includeintisprime(inta){inti;ints=(int)sqrt((double)a);for(i=2;i<=s;i++){if(a%i==0)return0;}return1;}10参考源代码intmain(void){intn;while(scanf("%d",&n)==1){printf("%s",(n>100&&n<1000&&n/100==n%15、0&&isprime(n))?"Yes":"No");}return0;}11五位以内的对称素数题目内容判断一个数是否为对称且不大于五位数的素数。输入描述输入数据含有不多于50个的正整数n(0intisprime(intn){inti;i6、f(n==1)//1不是素数return0;if(n!=2&&n%2==0)//除开2以外的偶数return0;for(i=3;i*i<=n;i+=2)//恰好跳过2,3,5,7,它们是素数{if(n%i==0)return0;}return1;}15参考源代码intissym(intn){if(n<12&&n!=10)//1位是对称数,2位素数中只有11是对称的return1;if(n>100&&n<1000&&n/100==n%10)//3位数中只须个位与百位相等return1;//注意四位数不可能有对7、称的素数,易得有11因子if(n>10000&&n/1000==n%10*10+n/10%10)return1;return0;}16参考源代码intmain(void){intn;while(scanf("%d",&n)==1){printf("%s",n<100000&&issym(n)&&isprime(n)?"Yes":"No");}return0;}17AneasyproblemTimeLimit:6000/3000MS(Java/Others)MemoryLimit:32768/32768K8、(Java/Others)18ProblemDescriptionWhenTeddywasachild,hewasalwaysthinkingaboutsomesimplemathproblems,suchas“Whatit’s1cupofwaterplus1pileofdough..”,“100yuanbuy100pig”.etc..OnedayTeddymetaoldmaninhisdream,inthatd
2、0:6284963题目分析如果针对每个整数都搜索一次完数,时间会花费较多,由于完数较少,可以先找出10000以内的所有完数,然后再针对n查表。4参考源代码#includeintmain(void){inti,j,k=0,n,sum,a[100];for(i=2;i<10000;i+=2)//已知完数为偶数{sum=1;for(j=2;j<=i/2;j++){if(i%j==0)sum+=j;}if(sum==i)a[k++]=i;}5参考源代码while(scanf("%d",&n)==1
3、){printf("%d:",n);for(i=0;i4、输出样例NoYesNo8题目分析三位对称只须判断个数与百位是否相等。9参考源代码#include#includeintisprime(inta){inti;ints=(int)sqrt((double)a);for(i=2;i<=s;i++){if(a%i==0)return0;}return1;}10参考源代码intmain(void){intn;while(scanf("%d",&n)==1){printf("%s",(n>100&&n<1000&&n/100==n%15、0&&isprime(n))?"Yes":"No");}return0;}11五位以内的对称素数题目内容判断一个数是否为对称且不大于五位数的素数。输入描述输入数据含有不多于50个的正整数n(0intisprime(intn){inti;i6、f(n==1)//1不是素数return0;if(n!=2&&n%2==0)//除开2以外的偶数return0;for(i=3;i*i<=n;i+=2)//恰好跳过2,3,5,7,它们是素数{if(n%i==0)return0;}return1;}15参考源代码intissym(intn){if(n<12&&n!=10)//1位是对称数,2位素数中只有11是对称的return1;if(n>100&&n<1000&&n/100==n%10)//3位数中只须个位与百位相等return1;//注意四位数不可能有对7、称的素数,易得有11因子if(n>10000&&n/1000==n%10*10+n/10%10)return1;return0;}16参考源代码intmain(void){intn;while(scanf("%d",&n)==1){printf("%s",n<100000&&issym(n)&&isprime(n)?"Yes":"No");}return0;}17AneasyproblemTimeLimit:6000/3000MS(Java/Others)MemoryLimit:32768/32768K8、(Java/Others)18ProblemDescriptionWhenTeddywasachild,hewasalwaysthinkingaboutsomesimplemathproblems,suchas“Whatit’s1cupofwaterplus1pileofdough..”,“100yuanbuy100pig”.etc..OnedayTeddymetaoldmaninhisdream,inthatd
4、输出样例NoYesNo8题目分析三位对称只须判断个数与百位是否相等。9参考源代码#include#includeintisprime(inta){inti;ints=(int)sqrt((double)a);for(i=2;i<=s;i++){if(a%i==0)return0;}return1;}10参考源代码intmain(void){intn;while(scanf("%d",&n)==1){printf("%s",(n>100&&n<1000&&n/100==n%1
5、0&&isprime(n))?"Yes":"No");}return0;}11五位以内的对称素数题目内容判断一个数是否为对称且不大于五位数的素数。输入描述输入数据含有不多于50个的正整数n(0intisprime(intn){inti;i
6、f(n==1)//1不是素数return0;if(n!=2&&n%2==0)//除开2以外的偶数return0;for(i=3;i*i<=n;i+=2)//恰好跳过2,3,5,7,它们是素数{if(n%i==0)return0;}return1;}15参考源代码intissym(intn){if(n<12&&n!=10)//1位是对称数,2位素数中只有11是对称的return1;if(n>100&&n<1000&&n/100==n%10)//3位数中只须个位与百位相等return1;//注意四位数不可能有对
7、称的素数,易得有11因子if(n>10000&&n/1000==n%10*10+n/10%10)return1;return0;}16参考源代码intmain(void){intn;while(scanf("%d",&n)==1){printf("%s",n<100000&&issym(n)&&isprime(n)?"Yes":"No");}return0;}17AneasyproblemTimeLimit:6000/3000MS(Java/Others)MemoryLimit:32768/32768K
8、(Java/Others)18ProblemDescriptionWhenTeddywasachild,hewasalwaysthinkingaboutsomesimplemathproblems,suchas“Whatit’s1cupofwaterplus1pileofdough..”,“100yuanbuy100pig”.etc..OnedayTeddymetaoldmaninhisdream,inthatd
此文档下载收益归作者所有