#include<iostream> #include<iomanip> using namespace std; double seq(int n) { double s = 0.0; for (int i = 1;i <= n;i++) { if (i % 2 == 0) s -= 1.0 / i; else s += 1.0 / i; } return s; } int main() { int n,m; double arr[1000] = { 0.0 }; while (cin >> m) { for (int i = 1;i <= 1000;i++) { arr[i] = seq(i); } for (int j = 1;j <=m;j++) { cin >> n; cout << setiosflags(ios::fixed) << setprecision(2) << arr[n] << endl; } } return 0; }
wrong answer的原因n值可取1000个。
新的方法:先将所有可能的值赋值给数组s[i] (通常是通过主函数调用的功能函数),然后通过输入特定值(数组项)输出结果。
时间: 2024-11-05 00:41:16