当前位置:首页 » 编程语言 » 判断一个数是否为素数c语言

判断一个数是否为素数c语言

发布时间: 2023-06-07 07:39:06

‘壹’ c语言编写一个程序判断一个数是否为素数急求

目的:判断一个数是否为素数

#include<stdio.h>


intmain(void)


{


int m;


inti;


scanf("%d",&m);


for(i=2;i< m;i++) //2到(m-1)的数去除m


{


if(m%i==0)//判断能否整除


break;

}

if(i== m)


printf("YES! ");


else


printf("No! ");


}

for循环的功能:

①若能整除,通过break跳出函数;

②若一直到m-1都不能整除,此时i再自增1到m,不满足i< m跳出for循环,这时i= m。

(1)判断一个数是否为素数c语言扩展阅读:


素数定理:



1、在一个大于1的数a和它的2倍之间(即区间(a,2a]中)必存在至少一个素数。



2、存在任意长度的素数等差数列。



3、一个偶数可以写成两个合数之和,其中每一个合数都最多只有9个质因数。(挪威数学家布朗,1920年)。



4、一个偶数必定可以写成一个质数加上一个合成数,其中合数的因子个数有上界。(瑞尼,1948年)。



5、一个偶数必定可以写成一个质数加上一个最多由5个因子所组成的合成数。后来,有人简称这结果为(1+5)(中国潘承洞,1968年)。



6、一个充分大偶数必定可以写成一个素数加上一个最多由2个质因子所组成的合成数。简称为(1+2)。

‘贰’ 用C语言的编程:利用调用函数,判断一个数是否是素数。

1、首先需要打开vs软件工程,准备好一个空白的C语言文件,引入头文件,主函数中暂时没有内容:

‘叁’ c语言如何判断素数

素数又称质数,所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。

首先要知道素数是不等于1,它的因子只有1和它本身。判断一个数是否为素数,可以用大于1小于给定数的所有数去除给定数,如果有任何一个能够除尽,就表示是合数,反之是素数。

(3)判断一个数是否为素数c语言扩展阅读:

首先,本文英文字母都表示整数,上半部B 》3N 》W,下半部B 》W 》3N。大于3的素数只有6N-1和6N+1两种形式,我们只需判定这两种数是素数还是合数即可。

命题 1 对于B=36N+1 形数而言。

若不定方程(3N)^2+N-(B-1)/36=W^2 有整数解,

则 6(3N-W)+1 是小因子数;6(3N+W)+1 是大因子数。

若不定方程 (3N)^2-N-(B-1)/36=W^2 有整数解,

则 6(3N-W)-1 是小因子数;6(3N+W)-1 是大因子数。

两式都无解,是素数。

‘肆’ 用C语言如何判断素数

按照如下步骤即可用C语言判断素数:

1、首先打开visual C++ 6.0,然后点击左上角的文件,再点击新建。

‘伍’ 用C语言编写判断一个数是否是素数的程序

工具/材料

ubuntu,vim,gcc

  • 01

    打开ubuntu并开启一个终端,输入命令vim is_prime.c,打开编辑页面,输入预处理指令#include<stdio.h>用于在主函数中调用判断函数。然后定义一个函数int is_prime(int n),即判断整数n是否为素数。

  • 02

    首先,判断这个数是否小于2.若是,则直接返回0,即表示它不是一个素数。

  • 03

    然后定义中间的因数i,初始值为2。依次使n对i取余数,看n能否整除i,然后令i自增直到i的平方大于n。在这过程中,如果遇到n能整除i,则说明n不是一个素数。如果循环能够直到i的平方大于n才结束,说明n是一个素数。

  • 04

    接下来,我们使用主函数进行测试,使用printf("%d : %d ", n, is_prime(n))的格式进行输出。如果输出结果为0,说明不为素数;结果为1,说明是一个素数。
    测试的数据依次是2,4,9,15, 17, 23, 25。

  • 05

    退出编辑器vim,然后使用gcc编译并运行它,得到结果。通过结果我们可以看出,预期的结果与我们对于素数的认知是相同的,说明我们的程序编写没有错误。以下是所有的源代码:
    #include <stdio.h>

    //判断一个数是否为素数的函数定义
    int is_prime(int n)
    {
    //判断n是否小于2.若小于则直接返回0
    //表示n不是一个素数
    if(n < 2)
    return 0;
    //定义一个中间变量i,初始化i=2
    int i = 2;
    //依次判断每一个不大于根号n的i是否能被n整除
    for(i = 2; i * i <= n;i++)
    {
    //如果能够整除
    if(n % i == 0)
    //直接返回0,表示n不是一个素数
    return 0;
    }
    //如果程序运行到这里,说明i*i大于n
    //说明n是一个素数
    return 1;
    }

    int main()
    {
    printf("%d : %d ", 2, is_prime(2));
    printf("%d : %d ", 4, is_prime(4));
    printf("%d : %d ", 9, is_prime(9));
    printf("%d : %d ", 15, is_prime(15));
    printf("%d : %d ", 17, is_prime(17));
    printf("%d : %d ", 23, is_prime(23));
    printf("%d : %d ", 25, is_prime(25));
    return 0;
    }

‘陆’ C语言编写一个程序判断一个数是否为素数急求

1、首先启动vb6,新建一个标准exe文件,调整窗体的大小。

热点内容
格来云服务器到期 发布:2025-02-14 06:48:43 浏览:904
订奥迪A7哪个配置比较好 发布:2025-02-14 06:44:23 浏览:139
spss的数据库 发布:2025-02-14 06:37:32 浏览:119
sql除法运算 发布:2025-02-14 06:30:43 浏览:534
如何在家部署一台服务器 发布:2025-02-14 06:22:04 浏览:433
u盘里文件夹是空的 发布:2025-02-14 06:13:22 浏览:803
安卓如何缩放图片尺寸 发布:2025-02-14 06:06:34 浏览:116
六年级简便算法题 发布:2025-02-14 05:53:02 浏览:8
脚本精灵要root吗 发布:2025-02-14 05:51:30 浏览:212
安卓手机如何录屏怎么去掉触摸显示 发布:2025-02-14 05:36:23 浏览:996