求含有n个因子的最小正整数(n<=1000000)
2024-09-30 07:05:41
题目链接:https://ac.nowcoder.com/acm/contest/331/G
思路:
根据唯一分解定理,如果一个数n可以表示成
n=p1a1*p2a2*...*pkak (pi是第i个质数)
那么n的因数的个数为(a1+1)*(a2+1)*...*(ak+1)。
这题可以先打表。
代码如下:
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std; const int maxn=1e6+;
int t,n;
int min_num[maxn],cnt[maxn];
int main(){
memset(min_num,-,sizeof(min_num));
for(int i=;i<maxn;i++)
for(int j=i;j<maxn;j+=i)
cnt[j]++;
for(int i=;i<maxn;i++)
if(min_num[cnt[i]]==-)
min_num[cnt[i]]=i;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
printf("%d\n",min_num[n]);
}
return ;
}
最新文章
- Leetcode: Sort Characters By Frequency
- BZOJ3563 : DZY Loves Chinese
- ”靠谱的C#“单例模式
- 书签(Bookmarks)
- 保存网页MHT
- 跟着ZHONGHuan学习设计模式--桥接模式
- iOS开发-内存管理
- 转:微信生成二维码java
- React组件实现越级传递属性
- 【Lab】Python改bat文件
- ASP.NET MVC 分页问题
- SmokePing 部署实践
- git客户端的安装及使用
- IaaS,PaaS,SaaS 的区别
- 学习 Spring (一) Spring 介绍
- 注册一个gitHub
- jq demo 轮播图,图片可调用,向左,自动+鼠标点击切换
- bzoj5017 炸弹 (线段树优化建图+tarjan+拓扑序dp)
- jquery.nicescroll.min.js滚动条使用方法
- dede的织梦问答模块也可以支持arclist标签