| 比赛 | 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;
}