C语言 Newton迭代法解方程Z^3-1=0
为什么我的出不来结果?求高手解决。
- C/C++ code
int main(){ FILE *fp; if((fp=fopen("input.txt","r"))==NULL) { printf("Failed to open file!"); exit(1); } double n,m,w0i=1,w0j=0,w1i=-0.5,w1j=sqrt(3)/2,w2i=-0.5,w2j=-sqrt(3)/2; int _012,cid=0; while(fscanf(fp,"%lf%lf",&n,&m)==2) { printf("Case %d: ",++cid); while(1) { n=n-((pow(n,3)-m*pow(n,2)+2*n*pow(m,2))/(3*(pow(n,4)+pow(m,4)+2*pow(n,2)*pow(m,2))));//实部 i,n m=m+((pow(m,3)+m*pow(n,2))/(3*(pow(n,4)+pow(m,4)+2*pow(n,2)*pow(m,2))));//虚部 j,m if(pow(m-w0j,2)+pow(n-w0i,2)<1e-16) {_012=0;break;} if(pow(m-w1i,2)+pow(n-w1j,2)<1e-16) {_012=1;break;} if(pow(m-w2i,2)+pow(n-w2j,2)<1e-16) {_012=2;break;} } printf("%d\n",_012); } return 0;}[解决办法]
是编译不通过?还是编译通过,结果出不来?还是出来结果不对?