C语言算法中,判断一个数是素数?要程序

 我来答
及时澍雨
2011-07-11 · TA获得超过1万个赞
知道大有可为答主
回答量:1061
采纳率:0%
帮助的人:823万
展开全部
/*To judge whether a number 'n' is prime number or not*/
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,k,prime=1;

do
{
printf("Please input a positive number:\nn=");
scanf("%d",&n);
}while(n<=0);

if(1==n)
prime=0;

k=(int)sqrt(n);

for(i=2;prime&&i<=k;i++)
if(0==n%i)
prime=0;

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

return 0;
}
yxl0410402
2011-07-14
知道答主
回答量:11
采纳率:0%
帮助的人:4万
展开全部
#include<stdio.h>
#include <math.h>
void main()
{
int n,i,k;
printf("输入大于等于2的整数:n\n");
scanf("%d",&n);
k = (int )sqrt(n);

for(i = 2; i <= k;i++)
if(n % i == 0) break;

if(i > k)
printf("素数\n");
else
printf("不是素数\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
353lsdxgs
2011-07-11 · TA获得超过2241个赞
知道大有可为答主
回答量:4865
采纳率:0%
帮助的人:2091万
展开全部
比如一个数n,比他小的质数有。怎么判断n是否质数?
n只要除以里的所有数,都除不尽,那么n就也是质数了,对吧。
而实际上,这个序列可以缩小。n只要除以这个序列里面,所有比根号下n小的质数,都除不尽,那么n就是质数了。因为如果一个质数大于根号n,而n可以除尽它,那么n必然也可以除尽一个更小的质数。
例如21,它可以除尽7,而它同样可以除尽3。所以判断21是否质数,只需要判断21是否可以除尽2和3就可以了。5和7和11就不需要判断了。
所以for(i=1;counter++,prime[i]*prime[i]<=no;i++),就是说这个素数的平方达到了要判断的no的时候就退出,也就是判断所有比no的根号更小的素数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞跑的蜗牛
2011-07-11 · TA获得超过340个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:73.6万
展开全部
怎么没分呢?
BOOL IsPrime(int num)
{
int i,k; // define temperary variant
k=sqrt(num+1); // we only have to judge from 2 to sqrt(num+1)

for(i=2;i<=k;i++)
{
if(num % i==0)
{
break;
}
}
if(i>=k+1)
{
return true;
}
else
{
return false;
}

}
此为函数,可以自己写程序调用。如
#include <iostream>
#include <cmath>
BOOL IsPrime(int num); // 函数声明
void main()
{
int number1;
cin >> number1;
if(IsPrime(number1) == true)
{
cout << "Yes, it's prime!";
}
else
{
cout << "No, it's not Prime!";
}
}

如果可以,给点分。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8ee33e4
2011-07-11
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
#include <math.h>
void main()
{
int n,i;
//输入大于等于2的整数
scanf("%d",&n);
k = (int )sqrt(n);

for(i = 2; i <= k;++i){
if(n % i == 0)
break;
}
if(i > k)
printf("素数");
else
printf("不是素数");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式