A. Fafa and his Company

传送门
935A. Fafa and his Company
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Fafa owns a company that works on huge projects. There are n employees in Fafa’s company. Whenever the company has a new project to start working on, Fafa has to divide the tasks of this project among all the employees.
Fafa finds doing this every time is very tiring for him. So, he decided to choose the best l employees in his company as team leaders. Whenever there is a new project, Fafa will divide the tasks among only the team leaders and each team leader will be responsible of some positive number of employees to give them the tasks. To make this process fair for the team leaders, each one of them should be responsible for the same number of employees. Moreover, every employee, who is not a team leader, has to be under the responsibility of exactly one team leader, and no team leader is responsible for another team leader.
Given the number of employees n, find in how many ways Fafa could choose the number of team leaders l in such a way that it is possible to divide employees between them evenly.

Input
The input consists of a single line containing a positive integer n (2 ≤ n ≤ 105) — the number of employees in Fafa’s company.

Output
Print a single integer representing the answer to the problem.

Examples
Input

2

Output

1

Input

10

Output

3

Note
In the second sample Fafa has 3 ways:
choose only 1 employee as a team leader with 9 employees under his responsibility.
choose 2 employees as team leaders with 4 employees under the responsibility of each of them.
choose 5 employees as team leaders with 1 employee under the responsibility of each of them.

题意:每个团队领导会负责一些正数量的员工,给他们分配任务。已知员工的数量n,找出有多少种方式可以选择团队领导者的数量,从而使员工在他们之间平均分配。

思路:给一定的人数,让我们选领袖,每个领袖的跟班不能是0,并且每个领袖带领的跟班是相同数量的,注意只要到n/2就可以了,因为大于n/2的话就会有的领袖得不到跟班。实则这题就是找出n有几个约数即可。

AC代码

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	int n,i,sum=0;
	cin>>n;
	for(i=1;i<=n/2;i++)
	{
		if (n%i==0)
		{
			sum++;
		}
	}
	cout<<sum<<endl;
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

稚皓君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值