发布时间 : 星期一 文章中南大学C++程序设计实践思考题答案更新完毕开始阅读
5 }
2.输入两个正整数,判别它们是否互为互质数。所谓互质数,就是最大公约数是1。 #include
int m,n,r;
cout<<\请输入两个正整数:\ cin>>m>>n;
cout< if(m { r=m;m=n;n=r;} while(r=m%n) { m=n; n=r; } if(n==1) cout<<\是互质数 \else cout<<”不是互质数”< return 0; } 3.编写程序,输出从公元2000年至3000年间所有闰年的年号。 #include int year; cout<<\公元2000年至3000年间闰年的年号:\\n\ for(year=2000;year<=3000;year++) if((year%4==0 && year0 !=0)||(year@0==0)) cout< 4.编写程序模拟猴子吃桃子问题:猴子第1天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天将剩下的桃子又吃了一半,又多吃一个。以后每天都吃了前一天剩下的 5 一半零1个。到了第10天,只剩下了一个桃子。请问猴子第一天共摘了多少个桃子? 方法1: #include int day,qian,hou=1; for(day=9;day>=1;day--) { qian=(hou+1)*2; hou=qian; } cout< 运行结果:1534 方法2: #include int day,number=1; for(day=9;day>=1;day--) number=(number+1)*2; cout< 方法3: #include cout<<\第1天共摘了\个\ return 0; } int peach(int day) { int number; 6 7 if(day==10) number=1; else number=2*(peach(day+1)+1); return number; } 5.计算s=1+(1+2)+(1+2+3)+(1+2+3+4)+ … +(1+2+3+ … +n)的值。 方法1: #include int i,j,n; long int sum,total(0); cout<<\ cin>>n; for(i=1;i<=n;i++) { sum=0; for(j=1;j<=i;j++) sum+=j; total+=sum; } cout<<\ return 0; } #include int i,n; long int sum(0),total(0); cout<<\ cin>>n; for(i=1;i<=n;i++) { sum+=i; total+=sum; } 7 cout<<\ return 0; } 6.马克思曾经做过这样一道趣味数学题:有30个人在一家小饭馆用餐,其中有男人、女人和小孩。每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令,一共花了50先令。请问男人、女人以及小孩各有几个人? #include int x,y,z; for(x=1;x<=16;x++) for(y=1;y<=24;y++) { z=30-x-y; if(3*x+2*y+z==50) cout<<\ } return 0; }实验4 常用程序设计算法 三、实验思考 1.读入一个整数N,若N为非负数,则计算N到2×N之间的整数和;若N为负数,则求2×N到N之间的整数和。分别利用for和while写出两个程序。 #include int main() { int N; cin>>N; int i=N; long sum=0; if(N>=0) { for(;i<=2*N;i++) sum+=i; 8