C++程序设计实践教程思考题答案 下载本文

}

cout<

9

2.设s?1?111????,求与8最接近的s的值及与之对应的n值。 23n #include using namespace std; int main() {

float s=1.0; int n=1; do { ++n; s+=1.0/n; }while(s<=8);

if((s-8)>(8-(s-1.0/n)))

cout<<\else

cout<<\return 0; }

3.已知A>B>C,且A+B+C<100,求满足1?1?1的共有多少组。

A2B2C2

#include using namespace std; int main() {

int A,B,C; int count=0; for(C=0;C!=33;++C ) for(B=100; B>C;--B ) for(A=100; A>B; --A) {

if((A + B + C < 100) && ((A * A * B * B) == ((A * A + B * B) * C * C))) {

cout << A << ' ' << B << ' ' << C << endl; ++ count; } }

cout << \

10

return 0; }

4.一司机出车祸后驾车逃离现场,第一位目击者记得车牌号前两位数字相同,且后两位数字也相同;第二位目击者是一位数学家,他看出车牌号是四位完全平方数。试推算肇事车的车牌号。 #include using namespace std; int main() { int n,i;

for(i=32;i<100;i++) { n=i*i;

if(n == n0/10 && n/1000 == n/100) cout<

11

5.编程验证“四方定理”:所有自然数至多只要用4个数的平方和就可以表示。 #include using namespace std; int main() {

int number,i,j,k,l;

cout<<\cin>>number;

for(i=1;i

if(number==i*i+j*j+k*k+l*l) {

cout<

6.编程验证“角谷猜想”:任给一个自然数,若为偶数则除以2,若为奇数则乘3加1,得到一个新的自然数,然后按同样的方法继续运算,若干次运算后得到的结果必然为1。 #include using namespace std; int main() {

int n,flag; flag=1;

cout<<\cin>>n; while(flag) {

if(n%2==0) n=n/2; else n=n*3+1;

12

} if(n==1) { flag=0; cout<<\实验5 函数和编译预处理 三、实验思考 1. 参考程序如下: #include using namespace std; long int Fibonacci(int n); void main() { int i; long int t,t1;