这个问题主要有两个关键的地方
1、每次累加10
2、加法和减法的交换
一开始看到这题的时候,我想到的是如下的方法:
public class test{
public static void main(String[] args){
int sum = 0;
for(int i = 13;i <= 1003;){ //注意这里并没有进行累加
for(int j = 1;j <= 100; j++){
if(j %2 == 0)
sum -= i;
else
sum +=i;
i+=10; //累加10放在此处
}
}
System.out.println(sum);
}
}
如上的解题方法是利用双重循环进行判断加法和减法虽然能够得出正确结果,但是有点麻烦和冗杂跟别人学习到另一种更简单的方法:
public class test{
public static void main(String[] args){
int sum = 0, a = 1;
for(int i = 13;i <= 1003;i += 10){
sum += i * a;
a =- a;
}
System.out.println(sum);
}
}
这个方法就比上个方法简洁很多很多通过这道题让我更加明白算法和解题思路(编程思想)的重要性需要更加注重这方面的学习