スクラッチブラシHDOJ(2)[HDOJ1001 - 合計通報]

スクラッチブラシHDOJ(2)[HDOJ1001 - 合計通報]

フェイス質問

和問題

制限時間:1000/500 MS(Javaの/その他)メモリ制限:32768分の65536 K(Javaの/その他)

問題の説明

ねえ、HDOJ(杭州Dianzi大学オンライン判事)へようこそ。
この問題では、あなたのタスクは、SUM(N)= 1 + 2 + 3 + ... + Nを計算することです。

入力

入力は整数の一連のN、1行につき1つの整数からなります。

出力

各場合について、1つのラインの出力SUM(n)は、空行が続きます。もし、結果が32ビット符号付き整数の範囲内であろうと仮定することができます。

サンプル入力

1
100

サンプル出力

1

5050

著者

DOOM III

推薦します

我々は慎重にあなたのためのいくつかの同様の問題を選択している:1002 1090 1003 1091 1004

統計 | 提出 | 議論 | 注意

翻訳

行ごとの数は、他のすべてのライン出力数は、この数が1から入力された番号に添加しています。

思考

循環?各ラインの入力は32ビットであるため、ああ、確かではありません。したがって、あなたは、よく知られた式を使用する必要があります -

Σ私は= 1n個iは= N N + 1 2

したがって、各数値は、O(1)要求することができます。

コード

#include <iostream>

int main(int argc, char ** argv)
{
    std::ios_base::sync_with_stdio(false);
    long long x;
    while (std::cin >> x)
        std::cout << x * (x + 1) / 2 << std::endl << std::endl;
//底下就是暂停用的,不用管。
#ifdef __EDWARD_EDIT
    std::cin.get();
    std::cin.get();
#endif
    return 0;
}
公開された40元の記事 ウォンの賞賛0 ビュー5160

おすすめ

転載: blog.csdn.net/edward00324258/article/details/72542377