对N个自然数进行从大到小的排序(N可以定义任意大于1的常数),并找出其中的素数
1条回答
- 行走的bug制造机器 2019-04-17 22:02关注
#include <iostream> #include <algorithm> using namespace std; #define N 20000 void getprime(); //预先打表 int isprime[N]; //记录素数 int main() { int n; cin >> n; int *a = new int[n]; for (int i = 0; i < n; i++) //得到n个待判断的数 cin >> a[i]; sort(a, a + n); getprime(); //预先打表,打表后,数组isprime中素数为1,合数为0 for (int i = 0; i < n; i++) if (isprime[a[i]]) cout << a[i] << ' '; return 0; } void getprime() { int j; memset(isprime, -1, sizeof(isprime)); isprime[0] = isprime[1] = 0; for (int i= 2; i < N; i++) //素数的倍数变为合数 if (isprime[i]) for(j = i * i; j < N; j += i) isprime[j] = 0; }
解决评论 打赏 举报无用 1
悬赏问题
- ¥15 vs2019中数据导出问题
- ¥20 云服务Linux系统TCP-MSS值修改?
- ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
- ¥20 怎么在stm32门禁成品上增加查询记录功能
- ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
- ¥50 NT4.0系统 STOP:0X0000007B
- ¥15 想问一下stata17中这段代码哪里有问题呀
- ¥15 flink cdc无法实时同步mysql数据
- ¥100 有人会搭建GPT-J-6B框架吗?有偿
- ¥15 求差集那个函数有问题,有无佬可以解决