程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 藍橋杯 C語言 入門訓練 序列求和,藍橋求和

藍橋杯 C語言 入門訓練 序列求和,藍橋求和

編輯:關於C語言

藍橋杯 C語言 入門訓練 序列求和,藍橋求和


問題描述 求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<stdio.h>

int main(){
	long long a;
	

	scanf("%I64d",&a);
	
	printf("%I64d\n",(a*(a+1))/2);
	return 0;
}

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved