判断一个数是否是素数,有C语言怎么解决啊

请大家简单些啊,我是菜鸟... 请大家简单些啊,我是菜鸟 展开
 我来答
pen245760036
2013-07-29 · TA获得超过158个赞
知道答主
回答量:81
采纳率:0%
帮助的人:85.2万
展开全部
素数是只能被自己和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();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
COFKE
推荐于2017-12-16 · TA获得超过511个赞
知道答主
回答量:41
采纳率:100%
帮助的人:17.4万
展开全部
#include"stdio.h"
#include"math.h"
main()
{
int i,k,m;
scanf("%d",&i);
k=sqrt(i); //判别i是否为素数,只需使2~根号i之间的每一个整数去除
for(m=2;m<=k;m++)
if(i%m==0)break;
if(m>k)
printf("%d是素数 ",i);
else printf("%d不是素数",i);
getch();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun_siliang
2010-11-25 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:5707万
展开全部
#include<stdio.h>
#include<math.h>
int Prime(int n){
if(n<2){
return 0;
}
if(2==n){
return 1;
}
for(int i=2;i<=sqrt((double)n);i++){
if(n%i==0){
return 0;
}
}
return 1;
}
void main()
{int a;
printf(
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
想蓉j
2010-11-25
知道答主
回答量:35
采纳率:0%
帮助的人:22.6万
展开全部
#include<iostream>
#include<cmath>
using namespace std;
int main(){
cout<<"please input a number: \n";
int m;
cin>>m;
double sqrtm=sqrt(m*1.0);
for(int i=2;i<=sqrtm;++i)
if(m%i==0){
cout<<m<<"isn't a prime.\n";
return 1;
}
cout<<m<<"is a prime.\n";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奔_
2010-11-25 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:107万
展开全部
把你邮箱留下,给你点资料,你可以看看!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式