题意:FAfa公司里有n个人,他想分成i个队伍,要求每个队伍人数相等且每支队伍不少于2人(一个队长,一个队员啦)。求有多少种分法。
题解:最大10000,不会超时,直接用for循环(因为最少一个队有两个人,所以for循环只需要跑到n/2就行了),找到除去队长数,队员总数刚好能被队长数整除的队伍数,把方法数计数,得出答案。
int main()
{
int n,ans=0;
cin >> n;
for (int i = 1; i <= n / 2; i++)
{
if ((n - i) % i == 0)
ans++;
}
cout << ans;
}