第4講 for文を理解しよう
第4話 さまざまな演算の解答例


① 2+4+6+・・・+200の解答例
void f1(){
   int a,i;
   a=0;
   for(i=2;i<201;i=i+2){
     a=a+i;
   }
   cout<<"2から200までの偶数の和="<<a<<endl;
}
別解答例
void f1(){
   int a,i;
   a=0;
   for(i=1;i<101;i++){
     a=a+i;
   }
   cout<<"2から200までの偶数の和="<<2*a<<endl;
}
つまり、(1+2+3+・・・+100)×2を計算させたわけです。

プログラムは、正解は1つではありません。ですから、あくまで解答例です。

② 1×2×3×・・・×10の解答例
void f1(){
   int a,i;
   a=1;
   for(i=1;i<11;i++){
     a=a*i;
   }
   cout<<"1から10までの="<<a<<endl;
}
解説
かけ算の場合、最初の値(初期値といいます)は1でなければなりません。
0だと何をかけても0のままですよね。

③ 5+8+11+・・・+305
void f1(){
   int a,i;
   a=0;
   for(i=5;i<306;i=i+3){
     a=a+i;
   }
   cout<<"初項5、公差3、末項305の等差数列の和="<<a<<endl;
}
④ (5+7+9+・・・+101)×(100+97+94+・・・+1)の解答例
void f1(){
   int a,b,i;
   a=0;
   b=0;
   for(i=5;i<101;i=i+2){
     a=a+i;
   }
   for(i=100;i>0;i=i-3){
     b=b+i;
   }
   cout<<"(5+7+9+・・・+101)×(100+97+94+・・・+1)の答="<<a+b<<endl;
}
⑤ 2×5×8×11×14+2×4×6×8×10の解答例
void f1(){
   int a,b,i;
   a=1;
   b=1;
   for(i=2;i<15;i=i+3){
     a=a*i;
   }
   for(i=2;i<11;i=i+2){
     b=b*i;
   }
   cout<<"2×5×8×11×14+2×4×6×8×10の答="<<a+b<<endl;
}

最後に、課題を出してこの話を閉じましょう。
課題 次のプログラムをfor文を使い組んでください。
① コンソール画面に
入門となるようにしてください。
② 8+13+18+23+・・・の計算を合計が1000を超えない範囲で実行してその答えを出してください。

第3話へ 第5話へ


戻る


VB講義へ
VB講義基礎へ

vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)