第一题 用二分法求方程x的三次方减x的四次方加4乘以x的平方减1在闭区间0~1上的一个实跟 第二题 如果一个数
谢谢哈
如果一个数的各因子之和正好等于该数本身,则该数称为完数。如6的因子为1,2,3.其和为6,则6为完数。编写程序,找出2~100之间所有的完数
#include<配竖iostream.h>
#include<math.h>
#define t 0.0001
#define ff double
const static int a[5]={-1,1,4,0,-1};
ff fangcheng(ff x)
{
ff m=0;
for(int i=0;i<5;i++)m+=a[4-i]*pow(x,i);
return m;
}
ff binjie()
{
ff lft=0;
ff rt=1;
while(rt-lft>t)
{
ff mid=(lft+rt)/2;
if(fangcheng(mid)>t)rt=mid-t;
else if(fangcheng(mid)<-t)lft=mid+t;
else return mid;
}
return -1;
}
main()
{
ff q=binjie();
cout<<q<<endl<<fangcheng(q);
return 0;
}
再埋枝给你补充回答下吧~请采纳
#include<stdio.h>
main()
{
int i,j,a[50],k=0,s=0;
for(i=2;i<弯卖敏=100;i++)
{
for(j=1;j<i;j++)
{
if(i%j==0)s+=j;
}
if(s==i)a[k++]=i;
s=0;
}
for(i=0;i<k;i++)printf("%d\n",a[i]);
return 0;
}
#include"stdio.h"
//#include"conio.h"
#include"math.h"虚吵
float fun(float x)
{
return (x*x*x-x*x*x*x)*(x*x-1);
}
float xpoint(float x1,float x2)
{
return (x1+x2)/2;
}
float root(float x1,float x2)
{
float x,y,y1,y2;
y1=fun(x1);
printf("差禅侍");
y2=fun(x2);
do
{x=xpoint(x1,x2);
y=fun(x);
if(y1*y<0)
{
x2=x;
y2=y;
}
else
{
x1=x;
y1=y;
}
}while(fabs(fun(x))<1e-6);
return x;
}
void main()
{
float a,b,f1,f2,x;
do
{
printf("输入a b\n");
scanf("%f%f"袭咐,&a,&b);
f1=fun(a);
f2=fun(b);
}while(f1*f2>=0);
x=root(a,b);
printf("%f",x);
getch();
}