c语言 判断一个数是不是素数
#include<stdio.h>voidmain(){intn,s=0,i;printf("请输入一个数:");scanf("%d",&n);for(i=2;i<n;i...
#include<stdio.h>
void main()
{
int n,s=0,i;
printf("请输入一个数:");
scanf("%d",&n);
for(i=2;i<n;i++)
s=n%i;
if(s==0)
printf("%d不是素数.",n);
else
printf("%d是素数.",n);
}
求大神指点 展开
void main()
{
int n,s=0,i;
printf("请输入一个数:");
scanf("%d",&n);
for(i=2;i<n;i++)
s=n%i;
if(s==0)
printf("%d不是素数.",n);
else
printf("%d是素数.",n);
}
求大神指点 展开
展开全部
素数是只能被自己和1整除的数 这个算法 错在循环 因为最后一个s=n%(n-1) 肯定不为零 因此会被判断成素数
#include<stdio.h>
void main()
{
int n,s=0,i;
printf("请输入一个数:");
printf("\n");
scanf("%d",&n);
for(i=2;i<n;i++)
{ s=n%i;
if(s==0)
{printf("%d不是素数",n);
s=1;
break;
}
}
if(s==1)
printf("%d是素数",n);
getch();
}
#include<stdio.h>
void main()
{
int n,s=0,i;
printf("请输入一个数:");
printf("\n");
scanf("%d",&n);
for(i=2;i<n;i++)
{ s=n%i;
if(s==0)
{printf("%d不是素数",n);
s=1;
break;
}
}
if(s==1)
printf("%d是素数",n);
getch();
}
追问
getch(); 是起什么作用的
追答
不同编译环境问题 你可以忽略
展开全部
首先是你的循环没加括号 作用范围有问题
再有就是你的逻辑问题 不能说余数不为0就不是素数,因为可能对其他数取余就是0
再有就是你的逻辑问题 不能说余数不为0就不是素数,因为可能对其他数取余就是0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
括号的问题for循环后面有个大括号就可以了 素数貌似2到sqrt(本身)就可以了吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-29
展开全部
#include<stdio.h>
void main()
{
int n,s=0,i;
printf("请输入一个数:");
scanf("%d",&n);
for(i=2;i<n;i++)
{
s=n%i;
if(s==0)
{
printf("%d不是素数.",n);
break;
}
if(s!=0)
{
printf("%d是素数,",n);
break;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询