手记

java 2.3 循环语句计算100以内的偶数和(五种方法)

前面的三种方法分别用三种循环语句实现了求和,都是运行了100次。
第四种运行了50次。
第五种运行了两次。
在小型程序中看不出区别,但是到了大型程序特别是运行量的的程序的时候,运行的次数就成为程序优劣的一个重要指标。
而这就是数据结构与算法的功用。

while(){ }循环
int a=0;
int sum=0;
while (a<=100) {
a++;
if (a%2==0) {
sum=sum+a;
}
}
System.out.println(sum);

do{ }while()循环:

int a=0;
int sum=0;
do {
a++;
if (a%2==0) {
sum=sum+a;
}
} while (a<=100);
System.out.println(sum);

for(){ }循环:
int sum=0;
for (int i = 1; i <=100; i++) {
if (i%2==0) {
sum=sum+i;
}
}
System.err.println(sum);
========加粗文字
int num=2;
int sum=0;
while (num<=100) {
sum=sum+num;
num=num+2;
//相比if判断运行了100次,这里只运行了50次。
}
System.out.println(sum);

===============

//高斯方法。
    int a=1;
    int n = 100;
    int sum=0;
sum=    (a+n)/2*n;

System.out.println("100以内的偶数和为:"+sum/2+50);

//因为每一个偶数都比奇数大一,一共有50对奇数偶数,所以偶数和比奇数和大50,所以最后结果加上50.
//这个程序总共只运行了一次。
6人推荐
随时随地看视频
慕课网APP

热门评论

接上条:

2. 偶数和不应是sum/2+50,应该是(sum+n/2)/2=2550.

最后一种办法的计算方法好像有问题,

1.(a+n)/2*n,在计算是会自动四舍五入,所以应该写成(a+n)*n/2=5050。

学好数学,非常重要,写出高效代码

查看全部评论