检查数字是否为素数(C) [英] check if number is prime (C)
本文介绍了检查数字是否为素数(C)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望用户输入数字并检查该号码是否为素数
但是我的代码显示错误结果所以我的代码有什么问题
i知道我错过了什么但不知道它
#include< stdio.h>
#include< conio.h>
int main()
{
int num,i, isPrime = 0 ;
clrscr();
printf( 请输入您检查的数字\ n);
scanf( %d,& num);
if (num < = 1 )
printf( 数字%d不是素数,num) ;
else if (num == 1 )
printf( 数字%d不是素数,num) ;
else if (num == 2 )
printf( 数字%d是素数,num);
其他 {
for (i = 3 ; i * i< = num; i ++)
{
if (num%i == 0 )
{
isPrime = 0 ;
break ;
}
}
如果(isPrime == 0 )
printf( 数字%d为素数, NUM);
else
printf( 数字%d不是素数,num);
}
getch();
return 0 ;
}
解决方案
你应该用 isPrime >非零值,更改自:
Quote:int num,i,isPrime = 0;
to
int num,i,isPrime = 1 ;
[update]
还有其他两个错误。
来自:
引用:for(i = 3; i * i< = num; i ++)
to
for ( i = 2 ; i * i< = num; i ++)
来自
Quote:if(isPrime == 0)
to
if (isPrime == 1 )
[/ update]
除了CPallini的解决方案,当num为1时还有一个错误。
改变这个:
if (num< = 1 )
......这个...
if (num< 1 )
i want user to enter number and check if that number is prime or not
but my code show wrong result so what is wrong with my code
i know that i missed thing but do not know it
#include<stdio.h>
#include<conio.h>
int main()
{
int num,i,isPrime=0;
clrscr();
printf("please enter the number you check prime \n");
scanf("%d",&num);
if(num <= 1)
printf("the number %d is not prime",num);
else if(num == 1)
printf("the number %d is not prime",num);
else if(num == 2)
printf("the number %d is prime",num);
else{
for(i=3;i*i<= num ;i++)
{
if(num % i == 0)
{
isPrime= 0;
break;
}
}
if( isPrime == 0)
printf("the number %d is prime",num);
else
printf("the number %d is not prime",num);
}
getch();
return 0;
}
解决方案
You should initializeisPrime
with a non-zero value, change from:
Quote:int num,i,isPrime=0;
to
int num,i,isPrime=1;
[update]
There are other two errors.
Change from:
Quote:for(i=3;i*i<= num ;i++)
to
for(i=2;i*i<= num ;i++)
and from
Quote:if( isPrime == 0)
to
if( isPrime == 1)
[/update]
In addition to CPallini's solution, there's a bug when num is 1.
Change this:
if(num <= 1)
... to this ...
if(num < 1)
这篇关于检查数字是否为素数(C)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文