Skip to content
On this page

2-A2. Sum of n

cin で自然数 を受け取って、 から までの和を出力するプログラムを作成してください。

例えば 10 を受け取ったとき、 1+2+3+4+5+6+7+8+9+10 を計算して 55 を出力できれば OK です。

Hint 1

今までの知識で解けるはず。手で計算する時、わざわざ足していますか?

Hint 2

総和を求める公式は でした。

Hint 3 (なぜか計算が合わない人)

プログラムにおいては、計算は左から順番に行われ、途中計算は必ず int 型(=整数)に切り捨てられます。

つまり、最初に 1/2 と書くとそこで 0 になってしまいます。

計算の順序を工夫する必要がありそうです。

Answer
cpp
#include <iostream>
using namespace std;

int main() {
    int n = 10;
    cin >> n;
    
    int ans = n*(n+1)/2;
    
    cout << ans << endl;
}