三种方法(要求精度为10^-8)
do...while
#include <iostream>
#include <iomanip>
#include<cmath>
using namespace std;
int main() {
int i = 1, n = 0;
double x, result=1;
cin >> x >> n;
do {
int m = -1, q = 1;
m *= -q;
result += (pow(x, i) / m);
q ++ ;
i++;
} while (i <= n);
cout << fixed << setprecision(8) << result << endl;
}
while
#include <iostream>
#include <iomanip>
#include<cmath>
using namespace std;
int main() {
int i = 1, n = 0, m = -1, q = 1;
double x, result = 1;
cin >> x >> n;
while (i <= n){
m *= -q;
result += (pow(x, i) / m);
q++;
i++;
}
cout << fixed << setprecision(8) << result << endl;
}
for
#include <iostream>
#include <iomanip>
#include<cmath>
using namespace std;
int main() {
int i = 1, n = 0, m = -1, q = 1;
double x, result = 1;
cin >> x >> n;
for (i = 1; i <= n; i++) {
m *= -q;
result += (pow(x, i) / m);
q++;
}
cout << fixed << setprecision(8) << result << endl;
}