scanf(\ if(a==0&&b==0) break; printf(\ } return 0; }
8角谷定理
描述 测试,
角谷定理:输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。求经过多少次可得到自然数1。如:例如数据22的变化过程: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1,数据变化次数为16。
可用迭代法或递归法实现。 输入说明
第一行1个整数m(100 > m >0),表示有多少组数据。 其后一行为m个正整数,表示m个数据。 输出说明
一行输出1个数据变换次数后,换行 输入样例 3
22 33 43 输出样例 16 27 30
#include
11
} else { if(n%2==0) n=n/2; else n=n*3+1; jg(n); } }
int main() { int a,b,n; scanf(\ for(b=0;b
9递归数列
描述
下列给定程序中,用递归实现函数fun,其功能是:根据整型参数n,计算如下公式的值。 A(1)=1,A(2)=1/(1+A(1)),A(3)=1/(1+A(2)),??,A(n)=1/(1+A(n-1))。 输入说明
第一行1个整数m(100 > m >0),表示有多少组数据。 其后一行为m个正整数,表示m个整数。 输出说明
一行输出数列对应数据,换行。小数点后保留6位有效数字,多余部分四舍五入。 输入样例 3 3 5 8 输出样例 0.666667 0.625000
12
0.617647
#include
int main() { int a,b,c; scanf(\ for(b=0;b
10水仙花数
描述
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)。定义一个函数int fun(int a, int b),计算区间[a,b]或[b,a]的水仙花数。 输入说明
第一行1个整数m(100 > m >0),表示有多少组数据。每行表示一组数据,每组数据由两个整数a和b构成,计算[a,b]或[b,a]间的水仙花数,a和b之间用空格分隔。 输出说明
输出区间[a,b]或[b,a]的水仙花数数量,换行。 输入样例 2
3 1000 400 5000 输出样例 4 2
#include
13
enum{num=100}; int fun(int a,int b){ int k,c,d[num],i,m=0,sum=0; if(a<100) a=100; for(;a>=100&&a<=b;a++) { for(c=10,k=1;a/c>0;k++) c*=10; for(i=0;i int main() { int a,b,m; scanf(\ while(m--) { scanf(\ printf(\ } return 0; } 11歌德巴赫猜想 描述 编写函数isPrime(long n),说明如下:函数的功能是判断给定的正整数n是否为素数,函数的返回值1/0表示n是/不是素数。 编写main()函数,调用isPrime()验证歌德巴赫猜想:任意一个大偶数都能分解为两个素数的和。 输入说明 第一行1个整数m(100 > m >0),表示有多少组数据。 其后一行为m个正偶数,表示m 14 个数据。 输出说明 每行输出2个数据表示分解的素数(每个正偶数可能分解成多组素数和,仅输出分解值分别是最小和最大素数的一组,从小到大输出),换行。 输入样例 2 10 20 输出样例 3 7 3 17 #include int main() { int m,n; scanf(\ for(n=1;n<=m;n++) { long a,b; scanf(\ for(b=a-1;b>=2;--b) if(isprime(b)==1&&isprime(a-b)==1) break; printf(\ } return 0; } 15 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库上机题及答案(3)在线全文阅读。
相关推荐: