省考C语言程序设计题附答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

11.素数1.[100,999]范围内同时满足以下两个条件的十进制数.⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求有多少个这样的数?15#includemath.hintprime(intx){inti,k;if(x2)return(0);k=sqrt(x);for(i=2;i=k;i++)if(x%i==0)break;if(ik)return(1);elsereturn(0);}main(){inti,n=0,a,b,c;for(i=100;i=999;i++){a=i/100;b=i%100/10;c=i%10;if((b+c)%10==a&&prime(i))2n++;}printf(Totalis:%d,n);}2.[300,800]范围内同时满足以下两个条件的十进制数.⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求满足上述条件的最大的三位十进制数。7613.除1和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数,2是素数)。若两素数之差为2,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数。22#includemath.hintprime(intx){inti,k;if(x2)return(0);k=sqrt(x);for(i=2;i=k;i++)if(x%i==0)break;if(ik)return(1);elsereturn(0);}main()3{inti,n=0;for(i=31;i=599;i++)if(prime(i)&&prime(i+2))n++;printf(Totalis:%d\n,n);}4.数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。但有些偶数可以分解成多种素数对的和,如:10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求6744可以分解成多少种不同的素数对(注:A+B与B+A认为是相同素数对)144#includemath.hintprime(intx){inti,k;if(x2)return(0);k=sqrt(x);for(i=2;i=k;i++)if(x%i==0)break;if(ik)return(1);elsereturn(0);}main(){inti,n;4n=0;for(i=31;i=599;i++)if(prime(i)&&prime(i+2))n++;printf(Totalis:%d\n,n);}5.两个素数之差为2,则称这两个素数为双胞胎数。求出[200,1000]之间的最大一对双胞胎数的和。17646.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的个数。397.德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。但有些偶数可以分解成多种素数对的和,如:10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求1234可以分解成多少种不同的素数对(注:A+B与B+A认为是相同素数对)258.求[100,900]之间相差为12的素数对(注:要求素数对的两个素数均在该范围内)的个数。50#includemath.hintprime(intx){inti,k;5if(x2)return(0);k=sqrt(x);for(i=2;i=k;i++)if(x%i==0)break;if(ik)return(1);elsereturn(0);}main(){inti,n=0;for(i=100;i=900-12;i++)if(prime(i)&&prime(i+12))n++;printf(Totalis:%d\n,n);}9.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的和。21645#includemath.hintprime(intx)6{inti,k;k=sqrt(x);for(i=2;i=k;i++)if(x%i==0)break;if(ik)return(1);elsereturn(0);}main(){inti,s=0;intprime(intx);for(i=100;i=999;i++)if(prime(i)&&prime(i%100)&&prime(i%10))if((i%100/10!=0)&&(i%10!=0)&&(i%10!=1))s=s+i;printf(Totalis:%d\n,s);}10.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数从大到小数的第10个素数是多少?79711.一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。如13,试求所有两位绝对素数的和。42912.在[200,900]范围内同时满足以下两个条件的十进制数:⑴其个位7数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;问有多少个这样的数?1413.一个素数,依次从个位开始去掉一位,二位.....,所得的各数仍然是素数,称为超级素数。求[100,999]之内超级素数的个数。14#includemath.hintprime(intx){inti,k;if(x2)return(0);k=sqrt(x);for(i=2;i=k;i++)if(x%i==0)break;if(ik)return(1);elsereturn(0);}main(){inti,s=0;for(i=200;i=999;i++)if(prime(i)&&prime(i/100)&&prime(i/10))s++;printf(Totalis:%d\n,si);}814.若两个连续的自然数的乘积减1后是素数,则称此两个连续自然数为友数对,该素数称为友素数。例如,由于8*9-1=71,因此,8与9是友数对,71是友素数。求[100,200]之间的第10个友素数对所对应的友素数的值(按由小到大排列)。17291#includemath.hintprime(intx){inti,k;if(x2)return(0);k=sqrt(x);for(i=2;i=k;i++)if(x%i==0)break;if(ik)return(1);elsereturn(0);}main(){inti,s=0;for(i=100;i=200;i++)if(prime(i*(i+1)-1)){s++;if(s==10)break;}printf(Totalis:%d\n,i*(i+1)-1);9}15.求[2,400]中相差为10的相邻素数对的对数。516.若两个连续的自然数的乘积减1后是素数,则称此两个连续自然数为友数对,该素数称为友素数。例如,由于8*9-1=71,因此,8与9是友数对,71是友素数。求[50,150]之间的友数对的数目。3817.若两个自然连续数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,例:2*3-1=5,因此2与3是友数对,5是友素数,求[40,119]之间友素数对的数目。3018.梅森尼数是指能使2^n-1为素数的数n,求[1,21]范围内有多少个梅森尼数?7#includemath.hintprime(longx){longk;longi;if(i2)return(0);k=sqrt(x);for(i=2;i=k;i++)if(x%i==0)break;if(ik)return(1);elsereturn(0);}main()10{inti,s=0;for(i=1;i=21;i++)if(prime((long)(pow(2,i))-1)&&((long)(pow(2,i)-1)!=1)&&((long)(pow(2,i)-1)!=0)){s++;printf(\nTotalis:%d,%ld\n,s,(long)(pow(2,i))-1);}}2.取数字19.[300,800]范围内同时满足以下两个条件的十进制数.⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求满足上述条件的最大的三位十进制数。76120.求符合下列条件的四位完全平方数(某个正整数A是另一个正整数B的平方,则称A为完全平方数),它的千位数字与十位数字之和等于百位数字与个位数字之积,例如,3136=562,且3+3=1*6故3136是所求的四位完全平方数.求其中最大的一个数。792121.设某四位数的千位数字平方与十位数字的平方之和等于百位数字的立方与个位数字的立方之和,例如,对于四位数:3201,3^2+0^2=2^3+1^3,试问所有这样的四位数之和是多少?97993main(){longi,k=0;inta,b,c,d;for(i=1000;i=9999;i++)11{a=i/1000;b=i%1000/100;c=i%100/10;d=i%10;if(a*a+c*c==b*b*b+d*d*d)k=k+i;}printf(okThenumis:%ld\n,k);}22.设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:9512,9+1=5*2,试问所有这样的四位数之和是多少?107828923.有一个三位数满足下列条件:(1)此三位数的三位数字各不相同;(2)此三位数等于它的各位数字的立方和。试求所有这样的三位数之和。130124.求[1,999]之间能被3整除,且至少有一位数字是5的所有正整数的个数。91main(){inti,k=0;inta,b,c;for(i=1;i=999;i++){a=i/100;b=i%100/10;12c=i%10;if((i%3==0)&&(a==5||b==5||c==5))k=k+1;}printf(Thenumis:%d,k);}25.有一个三位数满足下列条件:(1)此三位数的三位数字各不相同;(2)此三位数等于它的各位数字的立方和。试求所有这样的三位数中最大的一个是多少?407main(){inti,max=0;inta,b,c;for(i=100;i=999;i++){a=i/100;b=i%100/10;c=i%10;if((a*a*a+b*b*b+c*c*c==i)&&(a!=b&&b!=c&&a!=c))if(maxi)max=i;}printf(Thenumis:%d\n,max);}26.有一个三位数满足下列条件:(1)此三位数的三位数字各不相同;(2)13此三位数等于它的各位数字的立方和。试求这种三位数共有多少个?427.求五位数各位数字的平方和为100的最大的五位数。9411128.所谓“水仙花数”是指一个三位数,其各位数字的三次方之和等于该数本身,例如:153=1^3+3^3+5^3,故153是水仙花数,求[100,999]之间所有水仙花数之和。1301main(){inti,k=0;inta,b,c;for(i

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功