博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVALIve 5987 素数
阅读量:5106 次
发布时间:2019-06-13

本文共 1246 字,大约阅读时间需要 4 分钟。

题目链接:

如果一个数。至少有三个因子是素数、。那么这个数就是prime num.30和42是前两个prime num.问你第n个这种数是谁。(1<=n<=1000)。

用质因子分解。判断每个数有多少个因子是质数。如果超过3个旧记录下来、记录前1000个。

 

#include
#include
#include
#include
using namespace std;typedef long long ll;#define N 5000int isprime[N];ll prime[N], nprime, factor[N], numfactor[N], ct;void makeprime() // 打出1到N的素数表。{ int i, j, temp; nprime = 0; memset(isprime, 1, sizeof(isprime)); isprime[1] = 1; temp = sqrt(N+0.0); for (i=2; i<=temp; ++i) { if (isprime[i]) { for (j=i+i; j
temp) break; if (n % prime[i] == 0) { factor[++ct] = prime[i]; while(n % prime[i] == 0) { n /= prime[i]; } } } if (n != 1) { factor[++ct] = n; } return ct;}int main(){ int num[1001], cnt = 0; makeprime(); for (int i=1; ; ++i) { if (divide(i) >= 3) num[cnt++] = i; if (cnt > 1000) break; } int t, n; cin >> t; while(t--) { cin >> n; cout << num[n-1] << endl; } return 0;}
View Code

 

转载于:https://www.cnblogs.com/icode-girl/p/4749131.html

你可能感兴趣的文章
【ASP.NET】演绎GridView基本操作事件
查看>>
ubuntu无法解析主机错误与解决的方法
查看>>
尚学堂Java面试题整理
查看>>
MySQL表的四种分区类型
查看>>
[BZOJ 3489] A simple rmq problem 【可持久化树套树】
查看>>
STM32单片机使用注意事项
查看>>
swing入门教程
查看>>
好莱坞十大导演排名及其代表作,你看过多少?
查看>>
Loj #139
查看>>
StringBuffer是字符串缓冲区
查看>>
hihocoder1187 Divisors
查看>>
java入门
查看>>
Spring 整合 Redis
查看>>
Azure 托管镜像和非托管镜像对比
查看>>
JSP:Cookie实现永久登录(书本案例)
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
前端监控
查看>>
clipboard.js使用方法
查看>>