[C语言]输出100以内的所有素数(质数)

这篇具有很好参考价值的文章主要介绍了[C语言]输出100以内的所有素数(质数)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 概念解读 :

质数又被称为素数,是指一个大于1的自然数,除了1和它自身外,不能被其它自然数整除,且其个数是无穷的。

  1. 思路分析:

对于代码大方向,我们可以直接主函数中写,也可以用可移植性高的自定义函数来写。

100以内样例输出示意

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

后面是大于100的素数,可以修改代码中的循环条件的范围来改变自己的输出
  1. 代码内容:

思路一:

#include <stdio.h>
#include <stdlib.h>
int main() {
    int i ,j;                            //定义变量循环 
    printf("打印100以内所有素数:\n");      
    for(i = 2;i <= 100; i++){        //外循环从2遍历到100,可以修改范围输出不同范围内的素数 
        for(j = 2;j < i; j++){            //内循环通过大于1小于自身的因数进行依次取余判断,直到相除没有余数,跳出循环。 
            if(i % j == 0){
                break;
            }
        }
        if(j == i){        //这个判断是重点,意思是在前面的条件成立的前提下除数和被除数相等的才为素数,例如12有3×4,但是不相等,例如13只有当i==j是即i==j==13时候才能成立 
            printf("%d  ",i);
        }
    }    
    return 0;
}

代码分析:通过二重循环,外循环从2遍历到100,可以修改范围输出不同范围内的素数,内循环通过大于1小于自身的因数进行依次取余判断,直到相除没有余数,跳出循环。这个判断是重点,意思是在前面的条件成立的前提下除数和被除数相等的才为素数,例如12有3×4,但是不相等,例如13只有当i==j是即i==j==13时候才能成立 。

思路二:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
bool isprime(int i)                    //判断是否是素数的自定义函数 
{                                    
    int j;                            
    for(j = 2; j < sqrt(i); j++){    //for循环判断如果不是素数则返回0 
        if(i%j == 0){                //如果在i的平方根范围内的所有数字都不能被整除就说
                                    //明这个数字是素数,但凡有一个能被整除那么这个数字就违背了素数的定义 
            return 0;
        }
    }
    return 1;                        //如果是素数则返回1 
} 
int main() {
    int i ,j;                            
    printf("打印100以内所有素数:\n");      
    for(i = 2;i <= 100; i++){        //for循环遍历一个一个判断,如果是素数那么就打印出来,遍历的数字范围能被修改,输出不同范围的素数 
            if(isprime(i)){
                printf("%d ",i);
            }
    }    
    return 0;
}

代码分析:非素数一定是由两个数字相乘所得,所以另一种思路即为sqrt()函数对除数开平方根,对其开平方根后的数字对于素数来说一定是最大的平方根,一个数字分解为任意两个乘数一定是小于等于其开平方根的数值的,所以我们循环条件只需要小于这个数字的开平方根的数字即可;被除数则小于被判断数字的开方根的数字,最后经过判断,如果在有返回值的即为素数,这种方法可以使用可移植性较高的自定义函数完成。

以上就是我对100以内输出素数的所有见解,如果不同见解可以私信我文章来源地址https://www.toymoban.com/news/detail-505266.html

到了这里,关于[C语言]输出100以内的所有素数(质数)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python123输出N以内的所有素数&哥德巴赫猜想&扑克牌游戏

    描述 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬ 编程找出N(即小

    2023年04月18日
    浏览(41)
  • [c语言]求100以内的素数

    (一)、 关于整除算法: 要判断某数是不是质数,不必验证某数m是否被2~m-1的某一个整数整除,只需验证是否被2~sqrt(m)的某一个整数去除就可以了。若只要m被2~sqrt(m)的某个整数整除了,那么它就不是质数。例16能被2,4,8整除,根号16=4,2为2~4之间的一个整数 (二)、

    2024年02月06日
    浏览(44)
  • 用C语言写一个100以内的素数的循环

    写出100以内的素数,首先确定思路,确定框架和可以用到的函数, 素数的特征就是除了1以外不能被被别的数整除。所以这个循环函数就用到for循环从2到100(因为1不是素数),在for循环内部判断这个数是否能被除了1之外的数整除,如果被整除则不为素数,接着下一个数继续

    2024年02月11日
    浏览(43)
  • 【水文】计算并输出1到100之间所有质数的和

    #include stdio.h #include stdbool.h // 函数声明 bool isPrime(int num); int main() {     int sum = 0;     printf(\\\"1到100之间的质数有:n\\\");     for (int i = 2; i = 100; ++i) {         if (isPrime(i)) {             printf(\\\"%d \\\", i);             sum += i;         }     }     printf(\\\"n质数的和为:%dn\\\", sum);    

    2024年02月20日
    浏览(40)
  • C语言:写一个代码,使用 试除法 打印100~200之间的素数(质数)

    使用 试除法 打印100~200之间 的 素数 。                素数(质数) : 一个数 只能被写成 一和本身的积 。 如: 7 只能写成 1*7 ,那就是素数(质数)了。                       =========================================================================                         (一)

    2024年02月08日
    浏览(74)
  • Java输入任意正整数,判断其以内所有的素数(1000以内的所有素数)

    * 思路1: * 从约数的角度出发 * 5的约数为1,5,和为6 * 13的约数为1,13,和为14 * 17的约数为1,17,和为18 * 18的约数为1,2,3,6,9,18,,和为39 * 所以如果约数的和==i+1;则为素数,否则为偶数 * * 思路2: * 判断约数个数是否大约2 * 2的约数为1,2   约数个数为2 * 11的约数为1,11   约数个

    2023年04月08日
    浏览(45)
  • python 100以内的质数

    可以使用for循环 要找出从1到100之间的质数,你可以使用嵌套循环和判断条件来实现。  

    2024年02月06日
    浏览(38)
  • C语言--输出1-100以内同时能被3和5整除的数

     首先我们要有1-100的数字.  如何表示同时能被3和5同时整除呢? 如果这个数i,i%3==0i%5==0,那么这个数就可以同时被3和5整除  最后输出即可  完整代码: 创作不易, 如果这份博客👍对你有帮助,可以给博主一个免费的点赞以示鼓励。 欢迎各位帅哥美女点赞👍评论⭐收藏⭐

    2024年02月03日
    浏览(35)
  • Python-两种方法实现输出素数(质数)

    方案一: 程序的设计为: 1、设为被除数,取值范围可以自行设定,本例设为3-100;(1、2均不是素数) 2、设计为除数,除数的取值范围为除掉1和自身以及比自身大的数字(当被除数本身不为0时,除以比自身大的数余数一定不为零。) 3、在这两个前提下,先让固定,遍历范

    2024年02月11日
    浏览(35)
  • C语言判断素数的三种方法 判断素数(质数)

    题目: 方法一:在2到n-1之间任取一个数,如果n能被整除则不是素数,否则就是素数 代码示例如下: 代码运行结果如下: 方法二:在2到n/2之间任取一个数,如果n能被整除则不是素数,否则就是素数  代码示例如下: 代码运行结果如下: 方法三:在2到sqrt(n)之间任取一个数,如

    2024年02月02日
    浏览(103)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包