我正在尝试计算1到100之间所有数字的总和,但只计算那些以5:5,15,25等结尾的数字。
我不知道该怎么做;我知道如何计算总和,但不知道如何处理“以5结束”的情况。
这是我到目前为止所拥有的
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum = sum +i;
}
NSLog(@"%i", total);
答案 0 :(得分:4)
您不需要任何循环来解决此问题:
int sum1 = 5 * 20 * 21 / 2; // Find the sum of the multiples of 5
int sum2 = 10 * 10 * 11 / 2; // Find the sum of the multiples of 10
int sum = sum1 - sum2; // Remove the multiples of 10
答案 1 :(得分:3)
要求是将数字从1到100相加,但前提是它以5结尾。这是一种蛮力方法:
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 5 == 0 && i % 2 == 1) {
// The number is an odd multiple of 5 (skips 10, 20, etc.)
sum += i;
}
}
这是一个更优化的版本:
int sum = 0;
// Loop does 5, 15, 25, etc.
for (int i = 5; i <= 100; i = i + 10) {
sum += i;
}
答案 2 :(得分:2)
从0到9而不是100计数并添加((i * 10)+5)。这是基本的数学 - 你是否认为这或者你是否急于Stack Overflow?
int sum= 0;
for (int i = 0; i < 9; i++) {
sum = sum + ((i * 10) + 5);
}