ブルーブリッジカップ練習——入門訓練2
1322 ワード
タイトル3:
問題の説明は1+2+3+...+nの値を求める.入力フォーマット:入力には整数nが含まれます.出力フォーマット:1+2+3+...+nの値を表す整数を含む1行を出力します.サンプル入力:4サンプル出力:10
方法1:これは容易に考えられる数列和を求める方法であり,forループを用いる.しかし、この演算は、大きな数の列和を求めると、実行タイムアウトや数値オーバーフローの現象を引き起こす.
方法2:
最も簡単な方法は;
初期化の重要性は非常に重要です!!!
問題の説明は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;
}
初期化の重要性は非常に重要です!!!