资源预览内容
第1页 / 共48页
第2页 / 共48页
第3页 / 共48页
第4页 / 共48页
第5页 / 共48页
第6页 / 共48页
第7页 / 共48页
第8页 / 共48页
第9页 / 共48页
第10页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
简单题一个奇异的三位数 n一个自然数的七进制表达式是一个三位数,而 这个自然数的九进制表示也是一个三位数,且 这两个三位数的数码正好相反,求这个三位数 。一个奇异的三位数n*问题分析与算法设计 根据题意可知,七进制和九进制表示的这全自 然数的每一位一定小于7,可设其七进制数形 式为kji(i、j、k的取值分别为16),然后设其 九进制表示形式为ijk。一个奇异的三位数n*程序说明与注释 #include int main() int i,j,k; for(i=1;i int main() int i; for(i=0;i+) /*试探商的值*/ if(i*8+7)*8+1)*8+1=(34*i+15)*17+4) /*逆推判断所取得的当前i值是否满足关系式*/ /*若满足则输出结果*/ printf(“The required number is: %dn“,(34*i+15)*17+4); break; /*退出循环*/ n*运行结果 The required number is:1993 有限5位数 n个位数为6且能被3整除的五位数共有多少? 有限5位数n*题目分析与算法设计 根据题意可知,满足条件的五位数的选择范围 是10006、10016。99996。可设基础数 i=1000,通过计算i*10+6即可得到欲选的数(i 的变化范围是1000999),再判断该数能否被 3整除。有限5位数n*程序说明与注释 #include int main() long int i; int count=0; /*count:统计满足条件的五位数的个数*/ for(i=1000;i int main() int a,count =0; for(a=5;a int main() int i; for(i=1002;i int main() int i,x,y,last=1; /*变量last保存求X的Y次方过程中的部分乘积的后 三位*/ printf(“Input X and Y(X*Y):“); scanf(“%d*%d“, for(i=1;i int main() int t,a5; /*数组a存放分解的数字位*/ long int k,i; for(i=95860;i+) /*以95860为初值,循环试探*/ for(t=0,k=100000;k=10;t+) /*从高到低分解所取i值的每位数*/ /* 字,依次存放于a0a5中*/at=(i%k)/(k/10); k/=10; if(a0=a4)printf(“The velocity of the car is: %.2fn“,(i-95859)/2.0);break; 求车速n*运行结果 The new symmetrical number kelometers is:95959. The velocity of the car is:50.00n*思考题 将一个数的数码倒过来所得到的新数叫原数的 反序数。如果一个数等于它的反序数,则称它 为对称数。求不超过1993的最大的二进制的对 称数。 可逆素数 n求四位的可逆素数。可逆素数指:一个素数将 其各位数字的顺序倒过来构成的反序数也是素 数。可逆素数n*问题分析与算法设计本题的重点不是判断素数的方法,而是求 一个整数的反序数。求反序数的方法是从整数 的末尾依次截取最后一位数字,每截取一次后 整数缩小10倍,将截取的数字作为新的整数的 最后一位(新的整数扩大10倍后加上被截取的 数字)。这样原来的整数的数字从低到高被不 断地截取,依次作为新的整数从高到低的各位 数字。可逆素数n*程序说明与注释 #include #include int num(int number); int ok(int number); int main() int i,count; printf(“There are invertable primes with 4 digits: n“); for(count=0,i=1001;i0;i/=10) /按位将整数倒 过来,产生反序数 j=j*10 + i%10; if(number int a(int n) int main() int i,j,t,k,s; printf(“Following are palindrome primes not greater than 1000:n”); for(i=0;i10|t10) return 0; n/判断参数n是否为素数 int a(int n) int i; for(i=2;i int main() int a,b,num1,num2,temp; printf(“Input a scanf(“%d%d“, if(num1num2) /*找出两个数中的较大值*/ temp=num1; num1=num2; num2=temp; /*交换两个整数*/ a=num1; b=num2; while(b!=0) /*采用辗转相除法求最大公约数*/ temp=a%b; a=b; b=temp; printf(“The GCD of %d and %d is: %dn“,num1,num2,a); /*输出最大 公约数*/ printf(“The LCM of them is: %dn“,num1*num2/a); /*输出最小公倍数 */ 年龄几何 n张三、李四、王五、刘六的年龄成一等差数列 ,他们四人的年龄相加是26,相乘是880,求 以他们的年龄为前4项的等差数列的前20项。年龄几何n*问题分析与算法设计 设数列的首项为a,则前4项之和为“4*n+6*a“, 前4 项之积为“n*(n+a)*(n+a+a)*(n+a+a+a)“。 同时“1 int main() int n,a,i; printf(“The series with equal difference are:n“); for(n=1;n int main() int i=1; /*i为所设的阶梯数*/ while(!(i%2=1) /*满足一组同余式的判别*/ printf(“Staris_number=%dn“,i); n*运行结果 Staris_number=119爱因斯坦的数学题n*问题的进一步讨论 此题算法还可考虑求1、2、4、5的最小公倍数 n,然后判t(t为n-1)0(mod7)是否成立,若不 成立则t=t+n,再进行判别,直至选出满足条件 的t值。请自行编写程序实现 中国剩余定理n宋. 秦九韶 “大衍求一术”q三人同行七十稀q五树梅花廿一枝q七子团圆正半月q除百零五便得知n从中国剩余定理求出的数只是要求的最小解, 而候选解有无穷多个。q67=1*70+2*21+4*15-105q“今有一物,不知其数,三三数之,剩二,五五数之 ,剩三,七七数之,剩二,问物几何?”
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号