/*
* 思路:先求每项的,后再求和即可
*/
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += getPerItem(i);
}
System.out.println(sum);
}
public static long getPerItem(int i) {
if (i == 1)
return 1;
else
return 1 + getPerItem(i - 1);
}
} 作者: 许前刚 时间: 2012-3-11 14:11
其实大数学家高斯十岁的时候就有非常快速的解法:1+2+3+...+n=(1+n)*n/2作者: 刘蕴学 时间: 2012-3-11 15:18
/**
* 得到1与参数e之间(包含1和e)所有数的和,
* @param e 表示需要求和数的最后一个,e必须为整数,浮点类型紧为了保证结果
* @return 这些数的和
*/
public static int getSum(float e)
{
return (int)((1+e)*(e/2));
}