分别给出以下代码段打印的值:
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);
代码:
public class Main {
public static void main(String[] args) {
//System.out.println(.001);
double t =9.0;
while (Math.abs(t-9.0/t) > .001)
t = (9.0/t+t) /2.0;
System.out.printf("%.5f\n", t);
int sum = 0;
for (int i = 0; i < 1000; i++)
for (int j = 0; j < i; j ++)
sum++;
StdOut.println(sum);
sum = 0;
for (int i = 1; i < 1000; i *=2)
for (int j = 0; j < 1000; j ++)
sum++;
StdOut.println(sum);
}
}
答案:
3.00009
499500
10000