如何用c语言编程判断一个数是不是素数

如何用c语言编程判断一个数是不是素数,第1张

方法一:

#include<stdio.h>

int main(){

int i,j;

printf("请输入一个正整数。\n");

scanf("%d",&i);

if(i<2)

printf("小于2,请重新输入。\n");

elseif(i%2==0)

printf("%d不是一个素数。\n",i);

else{

for(j=2;j<=i/2;j++){

if(i%j==0){

printf("%d不是一个素数。\n",i);

break;

if(j>i/2){

printf("%d是一个素数。\n",i);

break;

方法二:

#include<stdio.h>

int main(){

int a=0;

int num=0;

scanf("%d",&num);

for(inti=2;i<num-1;i++){

if(num%i==0){

a++;

if(a==0){

printf("YES\n");

}else{

printf("NO\n");

方法三:

#include"stdio.h"

int main(){

printf("\t\t\t\t\thelloworld\n");

int a,i;

do{

printf("inputnumberjudgeprimenumber:\n");

scanf("%d",&a);

for(i=2;i<a;i++)

if(a%i==0)break;

if(i==a)

printf("%d是素数\n",a);

else

printf("%d不是素数\n",a);

}while(a!=0);

C语言-寻找素数

附代码:

#include<stdioh>

#include<mathh>

int main()//原理:设ab=c,a<b,则有a<根号c<b。若设a恒小于根号c,则只需判断a是否为因数

{

int a, b;

printf("请按从小到大输入两个素数:");

scanf_s("%d %d", &a, &b);

int n = 0,m=0,sum = 0;

double i, j;//i是从a到b的待筛选数,j是从2到根号i的除数,要判断j是否为i的因数

for (i = a; i <= b; i++)

{

m = 0;

int c = int(pow(i, 05));

for (j = 2; j <= c; j++)

{

if ((i / j - int(i / j)) == 00)

{

m++;//m是i被从2到根号i的j除了之后,商为整数,即发现j是i的因数的次数

}

}

if (m==0)

{

printf("找到素数:%d\n", int(i));

n++;

sum = sum + i;

}

}

printf("大于等于%d,小于等于%d的素数的个数为:%d\n", a, b, n);

printf("它们的和为:%d", sum);

return 0;

}

#include <stdioh>

#include <mathh>

int main()

{

int i,j,n,flag;

int num;

/ 判断输入的数是否是素数 /

printf("请输入一个正整数:");

scanf("%d", &num);

for(i=2,flag=1; i<=(int)sqrt(num);i++)

{

if(num % i ==0)

{

flag=0;

break;

}

}

if(flag==1)

printf("%d 是一个素数。\n\n", num);

else

printf("%d 不是一个素数。\n\n", num);

/ 列出2~1000之间个位数是3或7的素数 /

printf("2~1000之间个位数是3或7的素数:\n");

for(i=2; i<1000;i++)

{

for(j=2,flag=1; j<=(int)sqrt(i); j++)

if(i%j==0)

{

flag=0;

break;

}

if(flag==1 && (i%10==3 || i%10==7))

printf("%d\t",i);

}

/ 输出10个2~1000之间个位数是3或7的素数 /

printf("\n\n2~1000之间个位数是3或7的素数:\n");

for(i=2,n=0; i<1000;i++)

{

for(j=2,flag=1; j<=(int)sqrt(i); j++)

if(i%j==0)

{

flag=0;

break;

}

if(flag==1 && (i%10==3 || i%10==7))

{

n++;

if(n<=10)

printf("%d\t",i);

}

if(n>10)

break;

}

return 0;

}

1、写我们的头文件和主函数。写好我们的开头。

2、编写定义变量,我们语言定义一个i来用于后面的for循环。

3、我们输入一个数,在那之前我们要有一个printf()提示一下。

4、利用for循环看一看从2到n-1是否能被n整除,如果能就要break。

5、判断素数,如果程序正常结束,就i>=n,说明他就是素数。

6、如果通过break结束,他就会i<n,所以他就不是素数。

7、输出最后结果。

#include <stdioh>

#include <mathh>

//判断是否为素数的函数

int isPrime(int n)

{

    int i=2;

    while(i<=(int)sqrt(n))

    {

        if(n%i == 0)

            return 0;  //不是素数,直接返回0

        else

            i++;

    }

    return 1;

}

int main()

{

    int n;

    printf("输入一个正整数: ");

    scanf("%d",&n);

    if(isPrime(n))

        printf("%d is a prime number\n",n);

    else

        printf("%d is not a prime number\n",n);

    return 0;

}

示例运行结果:

输入一个正整数: 29

29 is a prime number

输入一个正整数: 25

25 is not a prime number

以上就是关于如何用c语言编程判断一个数是不是素数全部的内容,包括:如何用c语言编程判断一个数是不是素数、求判断素数的C语言程序、用c语言编写一个程序,判断输入的数是否是素数(质数)。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9377813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存