这题目本来是有手就行的题目,可是因为有了高精,所以就不是有手就行力!
python 大法好:
C++ 不用高精情况下是这样的:
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
int n, res = 1;
scanf ("%lld", &n);
for (int i = 2 * n, k = 1; k <= n; i --, k ++)
res = res * i / (2 * n - i + 1);
printf ("%lld", res / (n + 1));
return 0;
}
python 萌新硬生生将它变成了这样:
n = int (input())
res = 1;
i = 2 * n
k = 1
while k <= n:
res = res * i / (2 * n - i + 1)
i -= 1
k += 1
print (int (res / (n + 1)))
那么就能成功地水过去(
大佬,貌似你的代码对于35也会出错欸
或者说这种精度问题怎么避免呢....好困扰
你好,请问用python的时候为什么你这样就不会有精度问题呢?