用C语言如何判断素数

如题所述

第1个回答  2018-06-26

素数又称质数。

定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

#include<stdio.h>
int main( )
{
    int num,i;
    scanf("%d",&num);
    for(i=2;i<=num;i++)
        if(num%i==0 && num!=i)
        {
            printf("不是质数\n");
            return 0;
        }
    printf("是质数\n");
    return 0;
}

第2个回答  2018-06-26
如果数字比较小,可以用2到这个数每个除一遍。
for(i=2;i<n;i++) if(n%i==0) {printf("不是素数"); break;}
如果数字比较大,可以先用sqrt将数字开方,然后从2开始用素数进行除法运算。这个思路根据题目要求的不同,优化写法也不一样。
比如,你给的题目是求一个数是不是素数,那么就先计算2,再计算3,5,7,9……一直到这个数的开方值。好处是减少了近一半的计算量(大于开方值的不进行计算,大于2的偶数也不计算)。
第3个回答  2018-06-29
#include "stdio.h"
void main (void)
{
int p = 1;
int i,j,a=1;
while (p)
{
printf ("请输入一个正整数来判断是不是素数,以回车键结束:\n");
scanf ("%d",&j);

if (j==1)
printf ("%d:不是素数\n",j);
else
{
for (i=2;i<j;i++)
if (j%i==0)
{
printf ("因式:%d\t/%d\t=%d\n",j,i,j/i);
a=0;
}
if (a)
printf ("%d:是素数\n",j);
else
printf ("%d:不是素数\n",j);
}
printf ("\n");
printf ("如需退出请关闭,否则继续\n");
printf ("\n");

}
}
第4个回答  2018-06-27
int isprime(int n){

int i=2;
for(;i<=sqrt(n);i++)
if(n%i == 0)
return 0;
return 1;
}
这个是用于判断是不是素数的子函数,输入是待判断的数字n,返回值为0则不是素数,返回值为1则为素数。
需要在头文件加#include<math.h>
第5个回答  2018-07-12
判断质数的方法有很多种,就我们学的定义而言,就是从2开始,一直到开跟的数,如果能整除就非质数。

int i=3,n;
while(scanf("%d",&n))
{
if(n==2||n==3)
printf("%d 为质数\n",n);
else if(!(n%2))
printf("%d 为合数\n",n);
else if(n<2)
printf("%d 非质非合\n",n);
else
while(i<n)
{
if(!(n%i)) //整除了
{
printf("%d 为合数\n",n);
break;
}
if(i>sqrt(n))
{
printf("%d 为质数\n",n);
i=3;//下次循环初始化。
break;
}
i+=2;//因为+1一定为偶数,连2都不能整除,那么直接排除掉了,减少运算。
}
}

c语言中素数的判定方法
1、基本方法 最常见的素数判定方法是试除法。即对于给定的正整数n,从2开始逐个除以小于n的数,如果存在能整除n的数,则n不是素数;如果不存在能整除n的数,则n是素数。这种方法的时间复杂度为O(n)。2、优化方法 为了提高素数判定的效率,可以对试除法进行一些优化。例如,可以只试除小于等于n的平方...

c语言判断素数
素数是只能被1和它本身整除的正整数。要判断一个数是否为素数,可以使用试除法:从2到该数的平方根之间依次试除,如能整除,则非素数;否则是素数。以下是C语言实现判断素数的代码:c include include int isPrime(int n) { if (n < 2) return 0; \/\/ 小于2的数不是素数 int i;for (i = ...

C语言如何判断素数?
1、素数的判断。根据素数定义,除了1和本身不存在其它约数的正整数为素数。所以在C语言中判断n是否为素数可以从2开始到到n-1逐一尝试,如果可以整除说明不是素数。更进一步,可以从2判断到n\/2或者n的算术平方根,如果不存在约数,那么即为素数。除此以外,判断素数的算法还有素数筛等。2、判断素数的...

c语言怎么判断素数?
1、首先需要打开vs软件工程,准备好一个空白的C语言文件,引入头文件,主函数中暂时没有内容:2、这里开始编写代码,这里判断素数需要用到平方根,所以要在头文件中引入math库,然后编写判断素数的函数,函数有唯一的参数n,代表素数。判断的依据是素数n只要不能被 2 到根号下n之 间任一整数整除,则n...

c语言如何判断素数
按照如下步骤即可用C语言判断素数:1、首先,打开visual C加加6.0,然后点击左上角的文件,再点击新建。2、接着,在弹出的新建对话框中点击C加加Source File。3、其次在新建的文件文本框中输入预处理命令和主函数,即函数头和空类型。4、再定义变量并输入一个数字,即定义变量的数据类型,输出文字...

判断一个数是否为素数c语言
判断一个数是否为素数c语言,如下:分析:只能被1和它本身整除的整数称为素数。在数学中,要判断n是否为素数,通常让n除以2V的每一个整数,如果,能被2V几的某个整数整除,则说明,不是素数,否则n一定是素数。方法一:用for语Q判断n是否为整数 在这个代码中,我们首先定义了一个名为sprime的函数,...

用C语言编写判断一个数是否是素数的程序
1、打开ubuntu并开启一个终端,输入命令vim is_prime.c,打开编辑页面,输入预处理指令#includestdio.h用于在主函数中调用判断函数。然后定义一个函数int is_prime(int n),即判断整数n是否为素数。2、首先,判断这个数是否小于2.若是,则直接返回0,即表示它不是一个素数。3、然后定义中间的因数i,...

c语言如何判断一个整数是素数。
C语言程序如下:include<stdio.h> int main(){ int i,j,k=0;for(i=2;i<10000;i++){ for(j=2;j*j<=i;j++)if(i%j==0)break;if(j*j>i){ printf("%d ",i);k++;if(k%5==0)printf("\\n");} } }

C语言判断素数
要了解C语言如何判断一个数是否为素数,首先明白素数定义:大于1的自然数,只能被1和它本身整除,不能被其他自然数整除。接下来,我们将通过一个C语言程序来实现这个功能:<?php function isPrime($n) { if ($n <= 1) { return false; \/\/ 1不是素数 } flag = true; \/\/ 假设n是素数 for ...

如何用c语言判断一个数是不是素数
首先要知道素数是不等于1,它的因子只有1和它本身。判断一个数是否为素数,可以用大于1小于给定数的所有数去除给定数,如果有任何一个能够除尽,就表示是合数,反之是素数。下面是具体如何用C语言判断素数的过程:1、打开visual C++ 6.0,点击【文件】-【新建】-【文件】,然后选择【C++ Source File...

相似回答