1 条题解
-
0
C :
#include<stdio.h> float a,b,c,d; float f(float x) { return (a*x*x*x+b*x*x+c*x+d); } int main() { float x1,x2; scanf("%f%f%f%f",&a,&b,&c,&d); float x=-100; int s=0; x1=f(x); x2=f(x+0.001); while(s<3) { if(x1*x2<=0) { if(s!=2) printf("%0.2f ",x+0.001); if(s==2) printf("%0.2f\n",x+0.002); s++; } x=x+0.001; x1=x2; x2=f(x+0.001); } printf("\n"); return 0; }
C++ :
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<cstdlib> #include<cmath> #include<iomanip> #include<algorithm> using namespace std; double a,b,c,d; int k=0; int main(){ scanf("%lf%lf%lf%lf",&a,&b,&c,&d); //cin>>a>>b>>c>>d; double x,temp; for(x=-100*1.0;x<=1.0*100;x=1.0*0.01+1.0*x){ temp=1.0*(a*x*x*x+b*x*x+c*x+d); if(temp==0.0||(temp>=-0.001&&temp<=0.001)) { k++; printf("%.2f",x); if(k!=3) cout<<" "; else break; } } return 0; }
Java :
import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()) { double a=sc.nextDouble(); double b=sc.nextDouble(); double c=sc.nextDouble(); double d=sc.nextDouble(); for(long i=-10000;i<=10000;i++) { double z=a*i*i*i+b*i*i*100+c*i*10000+d*1000000; int y=(int) z; if(y==0) { double s=i; s=s/100; System.out.print(String.format("%.2f ", s) ); } } System.out.println(); } } }
- 1
信息
- ID
- 686
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者