第10講 for文以外の繰り返し(ループ)処理
第3話 第2話問題解答例

nを実現するコード例
#include<iostream>
using namespace std;
int f1(int h,int o, int k);
int f2(int h,int o, int k);
int f3(int h,int o, int k);
int f4(int h,int o, int k);
void main(){
   int h,o,k,i,w; //hははじめの値(初項)、oは終わりの値(末項)、kは変化の幅(公差)
   cout<<"はじめの値は?"<<endl;
   scanf("%d",&h);
   cout<<"終わりの値は?"<<endl;
   scanf("%d",&o);
   cout<<"変化の幅?"<<endl;
   scanf("%d",&k);
   cout<<"1乗の和="<<f1(h,o,k)<<endl;
   cout<<"2乗の和="<<f2(h,o,k)<<endl;
   cout<<"3乗の和="<<f3(h,o,k)<<endl;
   cout<<"4乗の和="<<f4(h,o,k)<<endl;
}
int f1(int h,int o, int k){
   int i,w;
   i=h;
   w=0;
   while(i<=o){
     w=w+i;
     i=i+k;
   }
   return(w);
}
int f2(int h,int o, int k){
   int i,w;
   i=h;
   w=0;
   while(i<=o){
     w=w+i*i;
     i=i+k;
   }
   return(w);
}
int f3(int h,int o, int k){
   int i,w;
   i=h;
   w=0;
   while(i<=o){
     w=w+i*i*i;
     i=i+k;
   }
   return(w);
}
int f4(int h,int o, int k){
   int i,w;
   i=h;
   w=0;
   while(i<=o){
     w=w+i*i*i*i;
     i=i+k;
   }
   return(w);
}








では、次の話の課題です。
それぞれの和について、
合計の上限値を超えない範囲まで合計を続けるように変更させるにはどうしたらよいでしょうか。
つまり、例えば
1+2+3+4+・・・の和の合計が100を超えない範囲で合計を続けさせるということです。

③の別解である
別解1
#include<iostream>
using namespace std;
int f();
void main(){
   cout<<"2+5+8+・・・+98="<<f()<<endl;
}
int f(){
   int i,w;
   i=2;
   w=0;
   while(1){
     w=w+i;
     i=i+3;
     if(i>100)break;
   }
   return(w);
}
別解2
#include<iostream>
using namespace std;
int f();
void main(){
   cout<<"2+5+8+・・・+98="<<f()<<endl;
}
int f(){
   int i,w,a;
   i=2;
   w=0;
   a=1;
   while(a){
     w=w+i;
     i=i+3;
     if(i>100)a=0;
   }
   return(w);
}
を参考にしてください。



第2話へ 第4話へ


a

魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ