求助为什么出现Floating point exception?

P2822 [NOIP2016 提高组] 组合数问题

Floating point exception=浮点错误
by xhQYm @ 2020-03-15 10:54:03


@[AndyChen2005121](/user/152652) `scanf` 里的 `,`?
by ud2_ @ 2020-03-15 10:56:16


@[AndyChen2005121](/user/152652) `scanf`里面为什么要逗号,输入如果没有逗号会出错吧?
by Aw顿顿 @ 2020-03-15 10:57:35


去掉逗号也会T吧
by dead_X @ 2020-03-15 11:09:47


@[Aw顿顿](/user/212283) 哦 草
by AndyChen2005121 @ 2020-03-15 11:53:01


@[Aw顿顿](/user/212283) 不过现在怎么没输出了 (
by AndyChen2005121 @ 2020-03-15 11:55:31


更新 ```cpp #include <cstdio> using namespace std; int t, k; int c[2005][2005]; int minn(int a, int b) { return a > b ? a : b; } int ans = 0; int main() { c[0][0] = 1; c[1][0]=c[1][1]=1; for(int i = 2; i <= 2000; i++){ c[i][0] = 1; for(int j = 1; j <= 2000; j++){ c[i][j] = (c[i-1][j-1] % k + c[i-1][j] % k) % k; } } scanf("%d %d", &t, &k); while (t--) { int n, m; scanf("%d", &n); scanf("%d", &m); for (int i = 0; i <= n; i++) { for (int j = 0; j <= minn(i, m); j++) { if (c[i][j] % k == 0){ ans++; } } } } printf("%d", ans); } ```
by AndyChen2005121 @ 2020-03-15 21:59:13


``` #include <cstdio> #include <iostream> using namespace std; int t, k; int c[2005][2005]; int minn(int a, int b) { return a < b ? a : b; } int ans = 0; int main() { c[0][0] = 1; c[1][0]=c[1][1]=1; scanf("%d%d", &t, &k); for(int i = 2; i <= 2000; i++){ c[i][0] = 1; for(int j = 1; j <= 2000; j++){ c[i][j] = (c[i-1][j-1] % k + c[i-1][j] % k) % k; } } while (t--) { ans = 0; int n, m; scanf("%d", &n); scanf("%d", &m); for (int i = 0; i <= n; i++) { for (int j = 0; j <= minn(i, m); j++) { if (c[i][j] == 0){ ans++; } } } printf("%d\n", ans); } } ```
by stansxt @ 2020-03-15 22:42:55


|