计算1到100之间以5结尾的数字之和

时间:2013-05-14 17:57:52

标签: objective-c c math

我正在尝试计算1到100之间所有数字的总和,但只计算那些以5:5,15,25等结尾的数字。

我不知道该怎么做;我知道如何计算总和,但不知道如何处理“以5结束”的情况。

这是我到目前为止所拥有的

int sum = 0;
for (int i = 1; i <= 100; i++) {
    sum = sum +i;
}
NSLog(@"%i", total);

3 个答案:

答案 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);
}