プログラマー軍団がC/C++の宿題を解決します 34代目
レス数が950を超えています。1000を超えると書き込みができなくなります。
0985デフォルトの名無しさん
NGNG検索してやってみたがあってるか不明
#include <stdio.h>
#include <math.h>
#define PI 3.1415921356
#define E 0.000001 // 収束半径?
int main()
{
double A,B,C;
const double MIN = -PI/2; const double MAX = PI/2;
double a,x; double fx,fdx;
printf("A,B,C?:");
scanf("%lf,%lf,%lf",&A,&B,&C);
// f(X) = Bcos(X/2+C)+tan(A) f'(X) = Bcos(X/2+C)-BXsin(X/2+C)/2
a = MIN;
while(a < MAX) {
fx = B*cos(a/2+C)+tan(A);
fdx = B*cos(a/2+C) - B*sin(a/2+C)/2;
x = a - fx/fdx;
if(fabs(x - a) < E) {
a = x;
break;
} else {
a = x;
}
}
printf("解:%lf",a);
return 0;
}
エクセル持ってないから試せないorz
レス数が950を超えています。1000を超えると書き込みができなくなります。