入門訓練 序列求和

2021-08-16 21:49:46 字數 1317 閱讀 5161

入門訓練 序列求和  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

求1+2+3+...+n的值。

輸入格式

輸入包括乙個整數n。

輸出格式

輸出一行,包括乙個整數,表示1+2+3+...+n的值。

樣例輸入 4

樣例輸出

10樣例輸入

100說明:有一些試題會給出多組樣例輸入輸出以幫助你更好的做題。

一般在提交之前所有這些樣例都需要測試通過才行,但這不代表這幾組樣例資料都正確了你的程式就是完全正確的,潛在的錯誤可能仍然導致你的得分較低。

樣例輸出

5050

資料規模與約定

1 <= n <= 1,000,000,000。

說明:請注意這裡的資料規模。

本題直接的想法是直接使用乙個迴圈來累加,然而,當資料規模很大時,這種「暴力」的方法往往會導致超時。此時你需要想想其他方法。你可以試一試,如果使用1000000000作為你的程式的輸入,你的程式是不是能在規定的上面規定的時限內執行出來。

本題另乙個要值得注意的地方是答案的大小不在你的語言預設的整型(int)範圍內,如果使用整型來儲存結果,會導致結果錯誤。

如果你使用c++或c語言而且準備使用printf輸出結果,則你的格式字串應該寫成%i64d以輸出long long型別的整數。

注:執行超時
#include#include#include#includeusing namespace std;

int main()

cout《注:50分

#include#include#include#includeusing namespace std;

int main(){

int n,i;

long long sum=0;

cin>>n;

sum=((1+n)*n)/2;

cout<n的範圍比較大 1 <= n <= 1,000,000,000。 所以把輸入的資料的型別用long long int

#include#include#include#includeusing namespace std;

int main(){

long long int n,i;

long long int sum=0;

cin>>n;

sum=((1+n)*n)/2;

cout<

入門訓練 序列求和

入門訓練 序列求和 時間限制 1.0s 記憶體限制 256.0mb 問題描述 求1 2 3 n的值。輸入格式 輸入包括乙個整數n。輸出格式 輸出一行,包括乙個整數,表示1 2 3 n的值。樣例輸入 4 樣例輸出 10樣例輸入 100 說明 有一些試題會給出多組樣例輸入輸出以幫助你更好的做題。一般在提...

入門訓練 序列求和

問題描述 求1 2 3 n的值。輸入格式 輸入包括乙個整數n。輸出格式 輸出一行,包括乙個整數,表示1 2 3 n的值。樣例輸入 4 樣例輸出 10 樣例輸入 100 說明 有一些試題會給出多組樣例輸入輸出以幫助你更好的做題。一般在提交之前所有這些樣例都需要測試通過才行,但這不代表這幾組樣例資料都正...

入門訓練 序列求和

問題描述 求1 2 3 n的值。輸入格式 輸入包括乙個整數n。輸出格式 輸出一行,包括乙個整數,表示1 2 3 n的值。樣例輸入 4樣例輸出 10樣例輸入 100 說明 有一些試題會給出多組樣例輸入輸出以幫助你更好的做題。一般在提交之前所有這些樣例都需要測試通過才行,但這不代表這幾組樣例資料都正確了...