
根据定义设计函数f(x) = x^2 - 4*x + 6
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
double f(double x){ // x^2 - 4*x + 6
return x * x - 4 * x + 6;
}
double minNum(double a1, double a2){
return a1 <= a2 ? a1 : a2;
}
int main(){
srand(time(0));
double aL = 0;
double aR = 4;
while(aR - aL > 1e-3){
double a1 = aL + (aR - aL) / 4;
double a2 = aL + (aR - aL) / 2;
double a3 = aL + 3 * (aR - aL) / 4;
double ita0 = aR - aL;
printf("%.4lf %.4lf %.4lf %.4lf\n",aL, a1, a2, aR);
if(minNum(f(a1), minNum(f(a2), f(a3))) == f(a1)){
aR = a2;
}
else if(minNum(f(a1), minNum(f(a2), f(a3))) == f(a2)){
aL = a1;
aR = a3;
}
else if(minNum(f(a1), minNum(f(a2), f(a3))) == f(a3)){
aL = a2;
}
double ita1 = aR - aL;
printf("itaK = %.2lf\n", ita1 / ita0);
}
printf("%.2lf\n", (aL + aR) / 2);
}


博客内容主要围绕函数定义展开,根据相关定义设计了函数f(x) = x^2 - 4*x + 6,属于信息技术中程序设计的基础操作。

被折叠的 条评论
为什么被折叠?



