#include<iostream> #include<algorithm> #include<unordered_map> #include<vector> usingnamespace std; constint N = 110, MOD = 1e9 + 7; #define ll long long intmain() { int n; cin >> n; unordered_map<int, int> primes; while (n--) { int x; cin >> x; for (int i = 2; i <= x / i; i++)
while (x % i == 0) { x /= i; primes[i]++; } if (x > 1) primes[x]++;
} ll res = 1; for (auto p : primes) res = res * (p.second + 1) % MOD; cout << res << endl; return0; }
intgauss()// 高斯消元,答案存于a[i][n]中,0 <= i < n { int c, r; for (c = 0, r = 0; c < n; c ++ ) { int t = r; for (int i = r; i < n; i ++ ) // 找绝对值最大的行 if (fabs(a[i][c]) > fabs(a[t][c])) t = i;
if (fabs(a[t][c]) < eps) continue;
for (int i = c; i <= n; i ++ ) swap(a[t][i], a[r][i]); // 将绝对值最大的行换到最顶端 for (int i = n; i >= c; i -- ) a[r][i] /= a[r][c]; // 将当前行的首位变成1 for (int i = r + 1; i < n; i ++ ) // 用当前行将下面所有的列消成0 if (fabs(a[i][c]) > eps) for (int j = n; j >= c; j -- ) a[i][j] -= a[r][j] * a[i][c];
r ++ ; }
if (r < n) { for (int i = r; i < n; i ++ ) if (fabs(a[i][n]) > eps) return2; // 无解 return1; // 有无穷多组解 }
for (int i = n - 1; i >= 0; i -- ) for (int j = i + 1; j < n; j ++ ) a[i][n] -= a[i][j] * a[j][n];
return0; // 有唯一解 }
intmain() { scanf("%d", &n); for (int i = 0; i < n; i ++ ) for (int j = 0; j < n + 1; j ++ ) scanf("%lf", &a[i][j]);
int t = gauss(); if (t == 2) puts("No solution"); elseif (t == 1) puts("Infinite group solutions"); else { for (int i = 0; i < n; i ++ ) { if (fabs(a[i][n]) < eps) a[i][n] = 0; // 去掉输出 -0.00 的情况 printf("%.2lf\n", a[i][n]); } }
usingnamespace std; typedef pair<int, int> PII; constint N = 1e5 + 2, mod = 1e9 + 7; int fact[N], infact[N];
intqmi(int a,int n) { int res =1; while(n) { if(n&1) res = (ll)res*a%mod; a = (ll)a*a%mod; n>>=1; } return res; } intmain() { int n; int a, b; fact[0] = infact[0] = 1;
for (int i = 1; i < N; i++) { fact[i]= (ll)fact[i-1]*i%mod; infact[i] = (ll)qmi(fact[i],mod-2); } scanf("%d", &n);
while (n--) { scanf("%d%d", &a, &b); printf("%d\n",(ll)fact[a]*infact[b]%mod*infact[a-b]%mod); } return0; }
给定 n 组询问,每组询问给定三个整数 a,b,p,其中 p 是质数,请你输出 Cbamodp 的值。
usingnamespace std; typedef pair<int, int> PII; constint N = 5e3 + 3; int primes[N], sum[N], cnt; bool st[N];
voidget_prime(int n) { for (int i = 2; i <= n; i++) { if (!st[i]) primes[cnt++] = i; for (int j = 0; primes[j] * i <= n; j++) { st[primes[j] * i] = true; if (i % primes[j] == 0) break; } } }
intget(int n, int p) { int res = 0; while (n) { res += n / p; n /= p; } return res; }
vector<int> mul(vector<int> a, int b) { vector<int> res; int len = a.size(); int t = 0;
for (int i = 0; i < len; i++) { t += a[i] * b; res.push_back(t % 10); t /= 10; } while (t) { res.push_back(t % 10); t /= 10; } return res; }
intmain() { int n, m; cin >> n >> m; get_prime(n); for (int i = 0; i < cnt; i++) { int p = primes[i]; sum[i] = get(n, p) - get(n - m, p) - get(m, p); } vector<int> res; res.push_back(1); for (int i = 0; i < cnt; i++) for (int j = 0; j < sum[i]; j++) res = mul(res, primes[i]); for (int i = res.size() - 1; i >= 0; i--) cout << res[i]; cout << endl; return0; }
usingnamespace std; typedef pair<int, int> PII; constint N= 1,mod = 1e9+7; intqmi(int a,int n) { int res = 1; while(n) { if(n&1) res = (ll)res*a%mod; a = (ll)a*a%mod; n>>=1; } return res; } intmain() { int n; cin>>n; int a = n<<1,b = n; int res = 1; for(int i =a;i>a-b;i--) res = (ll)res*i%mod; for(int i = b;i>=1;i--) res = (ll)res*qmi(i,mod-2)%mod;
res =(ll)res*qmi(n+1,mod-2)%mod; cout<<res%mod<<endl; return0; }