A - 众数问题
#include <bits/stdc++.h>
using namespace std;
int n, x, ans;
int a[1000000];
signed main()
{
cin >> n;
while (n--)
cin >> x, a[x]++;
for (int i = 0; i < 1000000; i++)
if (a[i] > a[ans])
ans = i;
cout << ans << "\n" << a[ans];
}
B - 整数因子分解问题
#include <bits/stdc++.h>
using namespace std;
#define int long long
int factor[2000], dp[2000], cnt = 0, i, n;
signed main()
{
cin >> n;
for (i = 1; i * i < n; i++)
if (n % i == 0)
factor[cnt++] = i, factor[cnt++] = n / i;
if (i * i == n)
factor[cnt++] = i;
sort(factor, factor + cnt);
dp[0] = 1;
for (i = 1; i < cnt; i++)
for (int j = 0; j < i; j++)
if (factor[i] % factor[j] == 0)
dp[i] += dp[j];
cout << dp[cnt - 1];
}
标签:cnt,第一个,++,ans,int,factor,dp
From: https://www.cnblogs.com/zzh1206/p/16820737.html