服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C语言判断数是否为素数与素数输出

C语言判断数是否为素数与素数输出

2022-07-28 11:04小夏跑不死 C/C++

大家好,本篇文章主要讲的是C语言判断数是否为素数与素数输出,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

素数的概念:素数也叫质数,是一种只能被自己本身和1整除的数并且大于1,当然0与1不是素数。

1.判断单个数是否为素数(多组输入)

我的思路是,首先输入一个数,利用素数的概念来判断是非为素数,是的话输出素数;否则不输出。

关于素数的判断首先我们吧输入的数当初被除数,我选择用一个for循环来实现,从2开始当除数,每轮加1,一直循环去除被除数,一直除到被除数减一那个数,要是期间能被一个数整除则跳出循环不为素数,要是一直没有被整除则输出这个素数。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
int main()
{
    int a=0, j;
    while (scanf_s("%d", &a) != EOF)
    {
        int flag = 1;
        for (j = 2; j < a; j++)
        {
            if (a % j == 0)
            {
                flag = 0;
                break;
            }
        }      
        if (flag == 1 && a != 0 && a != 1)//0与1不是素数
            printf("%d为素数。\n", a);
        else
        printf("%d不是素数。\n", a);
    }
    return 0;
}

这里我选择引用一个局部变量flag来当作判断是否为素数的标志,刚刚开始赋值为1,假如被整除了就变为0,最后直接判断flag的值,1为素数;否则不是。

最后代码运行

C语言判断数是否为素数与素数输出

2.输入范围输出范围内的素数

这个算是上一个例子的高阶版,这个题的我们得解决两个问题:①把这个范围的数全都进行输出②判断输出的数是否为素数,是的话输出否则不输出。

关于问题一我选择用一个for循环来不断输出这个数进行比较,因为输入的是一个范围必定有最大值和最小值,我们可以以最小值为起始数开始循环输出,每次加1,直到加到最大值停止输出。

第二个问题就利用上面例子的思路就可以,把他包括到第一个for循环里面。

代码如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>//输入一个范围,求嘞个范围里面的素数
int main()
{
    int m, n;
    scanf_s("%d %d", &m, &n);//输入一个范围,m为最小值,n为最大值
    for (int i = m; i < n + 1; i++)
    {
        int flag = 1;
        for (int k = 2; k < i ; k++)
        {
            if (i % k == 0)
            {
                flag = 0;
                break;
            }
        }
        if (flag == 1 && i != 0 && i != 1)
            printf("%d ", i);
 
    }
    return 0;
}

最后代码运行

C语言判断数是否为素数与素数输出

 成功运行

3.总结

对于这个代码我感觉唯一的难点在于对于break的理解,还有素数的概念,还有对于0与1不是素数的判断上。

关于0与1不是素数我运用了相对暴力的做法,我选择在最后flag的判断里面加入对输入的值的判断,只有他不等于0或者1时才为素数否则不是。

到此这篇关于C语言判断数是否为素数与素数输出的文章就介绍到这了,更多相关C语言 素数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_64448174/article/details/122154110

延伸 · 阅读

精彩推荐
  • C/C++C++ 中 socket编程实例详解

    C++ 中 socket编程实例详解

    这篇文章主要介绍了C++ 中 socket编程实例详解的相关资料,需要的朋友可以参考下...

    jamesjxin8032021-05-17
  • C/C++C++实现动态数组功能

    C++实现动态数组功能

    这篇文章主要为大家详细介绍了C++实现动态数组功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    fall_foliage4562021-07-10
  • C/C++浅析bilateral filter双边滤波器的理解

    浅析bilateral filter双边滤波器的理解

    这篇文章主要介绍了bilateral filter双边滤波器的通俗理解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考...

    pan_jinquan7482021-10-26
  • C/C++C++ Opengl旋转功能附源码下载

    C++ Opengl旋转功能附源码下载

    这篇文章主要介绍了C++ Opengl旋转功能附源码下载,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

    it_xiangqiang4102021-10-06
  • C/C++C++实现简单职工管理系统

    C++实现简单职工管理系统

    这篇文章主要为大家详细介绍了C++职工管理系统实训代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    刘文豪Brain10732021-03-30
  • C/C++红黑树的使用详解

    红黑树的使用详解

    本篇文章是对红黑树的使用详解。需要的朋友参考下...

    C++教程网3602020-11-23
  • C/C++c++中虚函数的实现详解

    c++中虚函数的实现详解

    众所周知探索c++对象内部的实现是一件非常有趣的事情,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?下面这篇文章就来给大家实...

    daisy9722021-04-23
  • C/C++C语言、C++内存对齐问题详解

    C语言、C++内存对齐问题详解

    这篇文章主要介绍了C语言、C++内存对齐问题详解,内存对齐的问题主要存在于理解struct和union等复合结构在内存中的分布,需要的朋友可以参考下...

    果冻想6282021-02-05