这部分算法实现起来比较弱智~~~~直接放码吧
1 简单迭代
求根 x^4 -3x - 2 = 0.
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <math.h>
using namespace std;
typedef long long LL;
const int MAXN = 501;
double x;
int N;///n元方程组,最大迭代N次
double eps;///误差限
double fun(double x)
{
return pow(3*x + 2,1.0/4.0);
}
int main()
{
int ok;
double xx;
///freopen("in.txt","r",stdin);
while(scanf("%d%lf%lf",&N,&x,&eps) != EOF){///最大迭代步数,初始值,误差限
ok = 0;
for(int i = 1;i<=N;i++){
xx = fun(x);
if(eps > fabs(x - xx)){ok = 1;x = xx;break;}
x = xx;
}
cout << x << endl;
}
return 0;
}
2.Aitken加速算法
求根 x = 1.6 + 0.99cos