| 比赛 | NOIP2023模拟赛5 | 评测结果 | AAAAAAATTATTTTTTTTTTTT | 
|---|---|---|---|
| 题目名称 | Number With The Given Amount Of Divisors | 最终得分 | 36 | 
| 用户昵称 | yuan | 运行时间 | 14.089 s | 
| 代码语言 | C++ | 内存使用 | 3.91 MiB | 
| 提交时间 | 2023-11-17 11:00:01 | ||
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
ull n,d,s,num,ans;
int main()
{
	freopen("CF27E.in","r",stdin);
	freopen("CF27E.out","w",stdout);
	cin>>n;
	ull zhaodao=0;
	num=n;
	while(!zhaodao)
	{
		s=0;
		for(ull i=1;i<=sqrt(num*1.0);i++)
		{//枚举求约数个数
			if(num%i==0)s++;
		}
		s *= 2;//约数个数翻倍
		//如果平方根为整数,则平方根多算1次,减去1
		if(sqrt(num*1.0)-(ull)sqrt(num*1.0)==0) s-=1;
		if(s==n)//满足条件
			ans=num,zhaodao=1;
		else
			num++;//否则,尝试下一个数
	}
	cout<<ans<<endl;
	return 0;
}