002 - 計算量の概念
Editorial
/
/
Time Limit: 2 sec / Memory Limit: 1024 MiB
講座動画
問題文
正整数 N が与えられます。 1 から N までを足した和を出力してください。
制約
- N は正の整数
- 1 \leq N \leq 1,000,000,000
入力
入力は以下の形式で標準入力から与えられる。
A B
出力
答えを整数で出力せよ。
入力例 1
10
出力例 1
55
入力例 2
1000000000
出力例 2
500000000500000000
C++ での正しくない回答例
#include<iostream>
using namespace std;
int main()
{
// 整数の入力
long n;
cin >> n;
// 答えの計算(一つずつ足す)
long ans = 0;
for(int i = 1; i <= n; i++) ans += i;
// 出力
cout << ans << endl;
return 0;
}
Python3 での正しくない回答例
# 入力
n = int(input())
# 計算 (全部足す)
ans = 0
for i in range(1, n + 1):
ans += i
# 出力
print(ans)
C++ での正しい解答例
#include<iostream>
using namespace std;
int main()
{
// 整数の入力
long n;
cin >> n;
// 答えの計算(一発で計算する)
long ans = n * (n + 1) / 2;
// 出力
cout << ans << endl;
return 0;
}
Python3 での正しい解答例
# 入力 n = int(input()) # 計算 ans = n * (n + 1) // 2 # 出力 print(ans)