用C语言如何判断素数
98个回答
展开全部
1,首先了解素数的定义,一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。2,以下是C语言程序。
#include "stdio.h"
int main()
{
int n,flag=1,i;
scanf("%d",&n);//输入一个数n,判断它是否是素数。
for(i=2;i<n;i++)
{
if(n%i==0)// 根据素数的定义n依次除以小于它本身大于1的数
flag=0;//一旦有能被整除的数,表明 n不是素数,使得flag=0 。
}
if(flag==0)//根据flag的值判断n是否是素数
printf("%d不是素数",n);
else
printf("%d是素数",n);
return 0;
}
希望可以帮到你,谢谢!
#include "stdio.h"
int main()
{
int n,flag=1,i;
scanf("%d",&n);//输入一个数n,判断它是否是素数。
for(i=2;i<n;i++)
{
if(n%i==0)// 根据素数的定义n依次除以小于它本身大于1的数
flag=0;//一旦有能被整除的数,表明 n不是素数,使得flag=0 。
}
if(flag==0)//根据flag的值判断n是否是素数
printf("%d不是素数",n);
else
printf("%d是素数",n);
return 0;
}
希望可以帮到你,谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
求素数的代码实在是太过经典,贴代码的话网上随便找一大堆,这里给你思路。
素数的定义是对于一个大于1的数,除了本身和1以外,不能被其它任何的数整除,就称之为素数。
2.所以你要做的就是给定一个数n,假设一个i∈(2,n-1),做n/i的操作,一旦发现可以整除,这个数就不是素数,如果对于所有的i都不能整除,那这个n就是素数。
3.对于上述方法,其实i的上限可以缩减到sqrt(n),有兴趣可以自行查阅资料
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
遍历一遍 2到这个数本身有没有因子,
int f=0;
for(i=2;i<m;i++)
{
if(m%i==0)//存在因子被整除
{
f=1;
break;
}
}
if(f==0)
printf("是素数");
else
printf("不是素数");
可以优化一下 for(i=2;i<=m/2;i++)
到自身的一半还没有因子的话,后面的一半肯定也没有因子的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1,首先了解素数的定义,一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。2,以下是C语言程序。 #include "stdio.h" int main() { int n,flag=1,i; scanf("%d",&n);//输入一个数n,判断它是否是素数。 for(i=2;i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思想:素数,一个大于1的自然数除了1和自身不能被其他数整除。程序实现方法:输入一个数N,用1至N的数遍历整除,看除了1和N是否有其他整除数.
void main()
{
int N,i;
int flag = 0;
printf("输入一个大于1的整数:");
scanf("%d",&N);
for(i=1;i<=N,i++)
{
if(((N%i)==0)&&(i != 1)&&(i != N))
{ flag++; } //在N内遍历整除,当遇到除了1和它自身能被整除的,fla
g就加1,flag表明N的整除数个数,当flag为0,说明N是素数。
}
if(flag == 0) printf("N是素数");
else printf("N不是素数");
return ;
}
void main()
{
int N,i;
int flag = 0;
printf("输入一个大于1的整数:");
scanf("%d",&N);
for(i=1;i<=N,i++)
{
if(((N%i)==0)&&(i != 1)&&(i != N))
{ flag++; } //在N内遍历整除,当遇到除了1和它自身能被整除的,fla
g就加1,flag表明N的整除数个数,当flag为0,说明N是素数。
}
if(flag == 0) printf("N是素数");
else printf("N不是素数");
return ;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询