1. 程式人生 > >入門訓練 序列求和

入門訓練 序列求和

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

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

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

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

import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
long n=sc.nextInt();
long i=1;
long sum=0;
while(i<=n)
{
sum+=i;
i++;
}
System.out.print(sum);
}
}