ブルーブリッジカップ練習——入門訓練2


タイトル3:
問題の説明は1+2+3+...+nの値を求める.入力フォーマット:入力には整数nが含まれます.出力フォーマット:1+2+3+...+nの値を表す整数を含む1行を出力します.サンプル入力:4サンプル出力:10
方法1:これは容易に考えられる数列和を求める方法であり,forループを用いる.しかし、この演算は、大きな数の列和を求めると、実行タイムアウトや数値オーバーフローの現象を引き起こす.
#include 
#include 

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	int i, t=0, m=0;
	
	scanf("%d",&m);
	for(i = 1; i <= m; i++){
		t += i;
	}
	printf("%d",t);
	return 0;
}

方法2:
#include 
#include 

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	int m=0;
	int t=0;
	
	scanf("%d",&m);
	t = ((m+1)*m)/2;			//       
	printf("%d",t);
	
	return 0;
}

最も簡単な方法は;
#include 
#include 

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	long long m=0, t=0;			//    
	
	scanf("%d",&m);
	t = ((m+1)*m)/2;
	printf("%lld",t);
	
	return 0;
}

初期化の重要性は非常に重要です!!!