許沁憲表示判斷此根3次方和c相同則為重跟,不同則為無解。
#include <stdio.h> int main(){ int a,b,c,i,j; while(scanf("%d %d %d",&a,&b,&c)==3){ int ans[3],nc=0; ans[0]=ans[1]=ans[2]=0; for (i=-1000;i<=1000;i++){ if ((i*i*i+a*i*i+b*i+c)==0) ans[nc++]=-i; } /* if(nc==1){ ans[2]=ans[1]=ans[0]; } else if(nc==2&&ans[2]>ans[1]){ int tmp; tmp=ans[2],ans[2]=ans[1],ans[1]=tmp; }*/ for(i=0;i<3;i++) for(j=i;j<3;j++){ int t; if(ans[i]>ans[j]) t=ans[i],ans[i]=ans[j],ans[j]=t; } if(nc) printf("%d %d %d\n",ans[0],ans[1],ans[2]); else printf("no solution\n"); } return 0; }
沒有留言:
張貼留言