01: #include <stdio.h>
02: 
03: int main(void){
04:   double x, dx, max_fx, max_x, new_fx;
05:   int change_max;              //0:最大値を更新  1:更新しない
06: 
07:   x = -100.0;                  // xの初期値
08:   dx = 0.001;                  // xの計算のきざみ幅
09: 
10:   max_fx = -3.0*x*x + 9.0*x - 6.0;    // とりあえずの最大値
11: 
12: 
13:   do{
14:     x+=dx;                             // 次の x
15:     new_fx = -3.0*x*x + 9.0*x - 6.0;   // f(x)の計算
16: 
17:     //---- 最大値か否かの検査 --------------
18:     if(max_fx < new_fx){        // 新たに最大値発見
19:       max_fx = new_fx;
20:       max_x = x;
21:       change_max = 0;
22:     }else{                      // 最大値でない場合
23:       change_max = 1;
24:     }
25: 
26:   }while(change_max==0);
27: 
28: 
29:   printf("x = %fのときf(x)=%fで最大です\n", max_x, max_fx);
30: 
31:   return 0;
32: }


no counter