入门训练 序列求和 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 i,sum;scanf("%ld",&i);sum=i*(i+1)/2;printf("%ld",sum);printf("\n");return 0; }總結
以上是生活随笔為你收集整理的入门训练 序列求和 c语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 入门训练 圆的面积 c语言
- 下一篇: 入门训练 A+B问题 c语言