Algs4-1.1.7分别给出以下代码段打印的值
1.1.7分别给出以下代码段打印的值:
a.double t=9.0;
while (Math.abs(t-9.0/t)>.001)
t=(9.0/t+t)/2.0;
StdOut.printf("%.5f\n",t);
b. int sum=0;
for (int i=1;i<1000;i++)
for (int j=0;j<i;j++)
sum++;
StdOut.println(sum);
c. int sum=0;
for (int i=1;i<1000;i*=2)
for (int j=0;j<1000;j++)
sum++;
StdOut.println(sum);
答:
a)打印值时while结束循环,结束循环要求Math.abs(t-9.0/t)=<0.001
![图片](http://r.photo.store.qq.com/psb?/f33bb27a-608a-4097-811a-86bbde18cf7a/7NZ36KZGatcawb12mxNuMxbVzzQLuxLSf2qr9J0ri6k!/o/dKoAAAAAAAAA&ek=1&kp=1&pt=0&bo=ogLrAaIC6wEDACU!&tl=1&su=0106957393&tm=1540432800&sce=0-12-12&rf=2-9)
b)1+2+3+...+999=(1+999)*999/2=499500
c)lg1000 *1000=10*1000=10000
a.double t=9.0;
while (Math.abs(t-9.0/t)>.001)
t=(9.0/t+t)/2.0;
StdOut.printf("%.5f\n",t);
b. int sum=0;
for (int i=1;i<1000;i++)
for (int j=0;j<i;j++)
sum++;
StdOut.println(sum);
c. int sum=0;
for (int i=1;i<1000;i*=2)
for (int j=0;j<1000;j++)
sum++;
StdOut.println(sum);
答:
a)打印值时while结束循环,结束循环要求Math.abs(t-9.0/t)=<0.001
b)1+2+3+...+999=(1+999)*999/2=499500
c)lg1000 *1000=10*1000=10000