UVALive 5987
2015-08-24 18:25
357 查看
求第n个数,该数满足至少由3个不同的素数的乘机组成
#include
#include
#include
#include
#include
using namespace std;
int prim[5000];
int ans[5000];
int cnt1,cnt2;
void getvis(){
cnt1=-1;
for(int i=2;i<=5000;i++){
bool flag=false;
for(int j=2;j<=sqrt(i);j++){
if(i%j==0){
flag=true;
break;
}
}
if(!flag)
prim[++cnt1]=i;
}
}
void getans(){
cnt2=-1;
for(int i=30;i<=5000;i++){
int num=0;
for(int j=0;j<=cnt1;j++){
if(i%prim[j]==0)
num++;
}
if(num>=3){
ans[++cnt2]=i;
}
}
}
int main(){
int t;
scanf("%d",&t);
getvis();
getans();
while(t--){
int n;
scanf("%d",&n);
printf("%d\n",ans[n-1]);
}
return 0;
}
#include
#include
#include
#include
#include
using namespace std;
int prim[5000];
int ans[5000];
int cnt1,cnt2;
void getvis(){
cnt1=-1;
for(int i=2;i<=5000;i++){
bool flag=false;
for(int j=2;j<=sqrt(i);j++){
if(i%j==0){
flag=true;
break;
}
}
if(!flag)
prim[++cnt1]=i;
}
}
void getans(){
cnt2=-1;
for(int i=30;i<=5000;i++){
int num=0;
for(int j=0;j<=cnt1;j++){
if(i%prim[j]==0)
num++;
}
if(num>=3){
ans[++cnt2]=i;
}
}
}
int main(){
int t;
scanf("%d",&t);
getvis();
getans();
while(t--){
int n;
scanf("%d",&n);
printf("%d\n",ans[n-1]);
}
return 0;
}
相关文章推荐
- java通过rJava调用R失败的问题总结
- 1090. Highest Price in Supply Chain (25) -计层的BFS改进
- CocoaPods安装和使用及问题:Setting up CocoaPods master repo
- Java 文件分块上传客户端源代码
- 1090. Highest Price in Supply Chain (25) -计层的BFS改进
- hdu 4302 Holedox Eating(优先队列/线段树)
- 最简单的HTML5游戏——贪吃蛇
- Java实现堆
- STL学习----入门(1)[unordered_map]
- AC+DP练习
- 运行hadoop程序遇到的一些问题及解决方案
- linux bash总结(二) 高级部分(适合初学者学习和非初学者参考)
- IOS7导航条与状态栏的那些事儿
- [转载]浅析Java中的final关键字
- 【数据库】E-R模型
- HDU 5015 233Matrix (构造矩阵)
- python 使用ioctl() 获得网卡IP 和MAC地址
- C# 抽象工厂
- 如何使Fiddler能捕获LoadRunner的http请求
- PHP开发提高效率技巧