题目链接:Distinct Primes

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

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

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<math.h>
using namespace std;typedef long long ll;
#define N 5000
int 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<N; j+=i){isprime[j] = 0;}}}for (int i=1; i<N; ++i){if (isprime[i]) prime[nprime++] = i;}
}int divide(int n)  // 对n进行质因子分解。ct表示质因子的个数、
{int i;int temp = sqrt(n+0.0);ct = 0;memset(numfactor, 0, sizeof(numfactor));for (i=1; i<=nprime; ++i){if (prime[i] > 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

UVALIve 5987 素数相关推荐

  1. 【JAVA】PAT 乙级 1059 C语言竞赛(测试点1、2超时) 内含1-10000的素数表和0-10000是否素数的boolean值

    [JAVA]PAT 乙级 1059 C语言竞赛(测试点1.2超时) 以下是1-10000的素数,和0-10000的素数是不是素数的boolean值 0-10000是不是素数的boolean 值 题目链 ...

  2. 算法:找出1-10000之间的所有素数

    用试除法 找出1-10000之间的所有素数 若要判断数字n是否为素数,只需将区间 [2,sqrt(n)] 之间的所有整数对数字j进行试除即可. #include <stdio.h> #in ...

  3. 自然数 素数 质数_素数列表–最多20,000个素数的图表

    自然数 素数 质数 Here's a list of all 2,667 prime numbers between zero and 20,000. 以下是所有0至20,000之间的2,667个质数 ...

  4. JAVA两年5009_【JAVA】PAT 乙级 1059 C语言竞赛(测试点1、2超时) 内含1-10000的素数表和0-10000是否素数的boolean值...

    [JAVA]PAT 乙级 1059 C语言竞赛(测试点1.2超时)题目链接 C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0.冠军将赢得一份 ...

  5. 10000以内素数表(代码块)

    10000以内的素数表(代码块) (打表可直接复制) int a[1230]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73 ...

  6. [SMOJ1771]区间素数

    题目描述 给定区间 [L,R] [L,R],请计算区间内素数的个数. 输入格式 1771.in 两个整数, L L 和 RR,其中 L≤R≤2147483647 L \leq R \leq 21474 ...

  7. 关于素数的简单算法整理

    1.梅森尼数 import java.util.ArrayList;public class text6 {/*** 梅森尼数(2的N次方减一是素数,N也必须是素数)*/private static ...

  8. n个素数构成等差数列

    n个素数构成等差数列 Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lld Description 有n个素数(均小于m)可以 ...

  9. 找出前50个素数,构成素数表

    import java.util.Scanner;public class Hello {private static Scanner in;public static void main(Strin ...

  10. DP UVALive 6506 Padovan Sequence

    题目传送门 /*题意:两行数字,相邻列一上一下,或者隔一列两行都可以,从左到右选择数字使和最大DP:状态转移方程:dp[i][j] = max (dp[i][j], dp[1-i][j-1] + a[ ...

最新文章

  1. python【力扣LeetCode算法题库】42-接雨水(双指针法)
  2. php2612,达人曝光LGLSNJ2612AR质量好吗?怎么样呢?体验报告揭秘
  3. 前端学习(2054)vue.js课程介绍
  4. java的foreach_深入理解java中for和foreach循环
  5. mvc源码解读(10)-ParameterDescriptor方法Action方法的参数描述对象
  6. 演示JSP Scriptlets、声明语句、jsp表达式的使用
  7. vue中cookie的使用——将cookie放在请求头header中
  8. java 多线程——一个定时调度的例子
  9. 火出B站的冠状病毒传播模拟仿真程序代码解析来啦!
  10. Linux中,Tomcat安装
  11. inDesign教程,如何创建风格化的书籍封面?
  12. .net Cache 需要注意的地方
  13. Cadence Orcad Capture原理图导出PDF图文视频教程
  14. 相亲交友小程序的盈利点
  15. 下载新版火狐后无法同步书签_火狐浏览器书签同步设置教程
  16. 【verbs】ibv_get_device_name()|ibv_get_device_list()
  17. 计算机无法识别游戏手柄,Win10系统使用游戏xbox游戏手柄提示“无法识别”的解决办法...
  18. MySQL练习题及答案
  19. 二叉树基础题(五):二叉树的下一个节点最低公共祖先节点
  20. MIT 操作系统 jos make grade出现no jos.out

热门文章

  1. 【5分钟paper】基于近似动态规划的学习、规划和反应的集成架构
  2. 手把手教你强化学习 (八) 强化学习中的值函数近似算法
  3. Redis学习之路(二)之Redis入门基础
  4. HTTP之Web服务器
  5. 如何修改maven默认仓库(即repository)的路径
  6. 51NOD 1181 质数中的质数(质数筛法)
  7. 牛客 小a与星际探索 bfs
  8. nginx 四种策略
  9. vue(组件、路由)懒加载
  10. spring cloud报错解决:java.lang.ClassNotFoundException: com.netflix.servo.monitor.Monitors