首页 > 其他分享 >打印素数 两种不同方法

打印素数 两种不同方法

时间:2022-12-05 22:11:52浏览次数:42  
标签:maxNumber 两种 int 打印 number ++ 素数 isPrime

1.用数组列出素数表 是素数该下标对应的值为1 将每个素数的倍数对应的下标值赋为0 这样就完成了素数表

#include <stdio.h>

int main(){
    const int maxNumber = 255;
    int isPrime[maxNumber];
    int i;
    int x;
    for (int i = 0; i < maxNumber; ++i) {
        isPrime[i] = 1;
    }
    for (x = 2; x < maxNumber; ++x) {
        if(isPrime[x]){
            for ( i = 2; i*x<maxNumber; ++i) {
                isPrime[i*x] = 0;
            }
        }
    }
    for (i = 2; i < maxNumber; ++i) {
        if(isPrime[i]){
            printf("%d\t",i);
        }
    }
    printf("\n");
    return 0;
}

2.用素数能否被之前的素数整除用来判断

#include <stdio.h>

int isPrime(int x,int knownPrimes[],int numberOfKnownPrimes){
    int ret = 1;
    int i;
    for (i = 0; i < numberOfKnownPrimes; ++i) {
        if(x % knownPrimes[i] == 0){
            ret = 0;
            break;
        }
    }
    return ret;
}

int main(){
    const int number = 100;
    int prime[number] = {2};
    int count = 1;
    int i = 3;
    while (count < number) {
        if(isPrime(i, prime, count)){
            prime[count++] = i;
        }
        i++;
    }
    for (i = 0; i < number; ++i) {
        printf("%d ", prime[i]);
    }
    printf("\n");
    return 0;
}

 

标签:maxNumber,两种,int,打印,number,++,素数,isPrime
From: https://www.cnblogs.com/xinrenbool/p/16953699.html

相关文章

  • k8s 更换默认调度器两种方案-Crane-scheduler
    k8s更换默认调度器两种方案背景原生kubernetes调度器只能基于资源的resourcerequest进行调度,然而Pod的真实资源使用率,往往与其所申请资源的request/limit差异很大......
  • 计算机两种体系结构及指令集
    计算机的两种体系结构冯·诺依曼体系结构和哈佛体系结构冯·诺依曼体系结构冯·诺依曼体系的特点数据与指令都存储在存储器中,程序执行效率不高被大多数计算机所采用,简单AR......
  • linux批量删除进程的两种方法
    linux批量删除进程的两种方法 介绍两种方法。要kill的进程都有共同的字串。 [plain] kill-9`ps-ef|grepxxx|awk'{print$2}'`   kill-9后面的符号是Tab键上......
  • cubemx 串口重载与打印
    1)cubemx生成工程,配置串口2)在main.c中添加代码/*Privateincludes----------------------------------------------------------*//*USERCODEBEGINIncludes*/#i......
  • Spring Boot+Mybatis:实现数据库登录注册与两种properties配置参数读取
    〇、参考资料1、hutool介绍2、SpringBoot+Mybatis实现登录注册3、SpringBoot读取自定义配置文件​​https://www.yisu.com/zixun/366877.html​​4、SpringBoot读取prope......
  • odoo14的qweb打印单样式丢失问题
    问题:在开发odoo14的打印单过程中:Wkhtmltopdf打印插件已安装的情况下,发现样式丢失了,如下图  问题的原因:1、可能是外网与内网服务转换时候造成的样式丢失,有时候是端口......
  • 页式存储管理--两种置换算法的实现
    一.实验目的1.了解虚拟存储技术,通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解。2.掌握FIFO和LRU等置换算法,加强对地址转换过程的了解。二.实验内容......
  • 【C语言】递归打印两数之间的值
    递归打印m到n的值#include<stdio.h>//递归打印min到max的值://min最小值max最大值:intf(intmin,intmax){if(max<min){printf("输入错误:\n"......
  • 顺序表-00004-打印顺序表
    顺序表结构定义typedefintseqType; //定义顺序表数据类型//定义顺序表的结构体typedefstructt_sList{ seqType*pbase; //表基址 intcapacity; //表......
  • SqlServer 中 case when 的的两种写法
    https://mp.weixin.qq.com/s?src=11&timestamp=1670070823&ver=4204&signature=OpXckzt0JIEqamYo0WpJqwgtbQDMFkUpQ0Nc56WLqzHq0bMR91TRHbCxycSCx49JmQNO9K7MCZ-XLqzjJeTnS......