用C语言如何判断素数

 我来答
汨无无梦D870a
2019-05-06 · TA获得超过2.3万个赞
知道答主
回答量:272
采纳率:0%
帮助的人:6.9万
展开全部

按照如下步骤即可用C语言判断素数

1、首先打开visual C++ 6.0,然后点击左上角的文件,再点击新建。

2、然后在弹出的新建对话框中点击C++Source File。

3、在新建的文件文本框中输入预处理命令和主函数,即函数头和空类型。

4、然后再定义变量并输入一个数字,即定义变量的数据类型,输出文字提示,再输入一个数字。

5、然后用for函数和if函数判断是否是素数。

6、点击确定后即可成功创建刚刚新建的程序,随机输入一个数字即可验证一下刚刚创建的C语言。

刀剑上的舞者
高粉答主

2019-04-23 · 你要在大时代中做个坚强的小人物,在狂欢夜
刀剑上的舞者
采纳数:6 获赞数:87654

向TA提问 私信TA
展开全部

材料/工具:visual C++ 6.0

1、打开visual C++ 6.0-文件

2、点击新建-文件-C++ Source File

3、输入预处理命令和主函数:

#include<stdio.h>       /*函数头:输入输出头文件*/

void main()             /*空类型:主函数*/

4、定义变量并输入一个数字:

int m,i;                    /*定义变量的数据类型为整型*/

printf("输入一个数:");     /*输出文字提示*/

scanf("%d",&m);             /*输入一个数字*/

5、用for函数和if函数判断是否是素数:

for(i=2;i<=m;i++)           /*用for函数重复下面步骤*/

if(m%i==0)              /*判断输入的数是否能被除1和本身以外的数整除*/

break;

if(i>m)                 /*判断i是否大于m*/

printf("%d 是素数\n",m);       /*输出是素数*/

else

printf("%d 不是素数\n",m);     /*输出不是素数*/

6、完整的源代码:

#include<stdio.h>               /*函数头:输入输出头文件*/

void main()                     /*空类型:主函数*/

{

int m,i;                    /*定义变量的数据类型为整型*/

printf("输入一个数:");     /*输出文字提示*/

scanf("%d",&m);             /*输入一个数字*/

for(i=2;i<=m;i++)           /*用for函数重复下面步骤*/

if(m%i==0)              /*判断输入的数是否能被除1和本身以外的数整除*/

break;

if(i>m)                 /*判断i是否大于m*/

printf("%d 是素数\n",m);       /*输出是素数*/

else

printf("%d 不是素数\n",m);     /*输出不是素数*/

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凤昆谊0iV
2018-01-05
知道答主
回答量:27
采纳率:0%
帮助的人:2.4万
展开全部

介绍三种使用C语言来判断素数的方法,以及用做素数表来判断找素数的方法。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高中生三baby
高粉答主

推荐于2019-11-15 · 说的都是干货,快来关注
知道小有建树答主
回答量:420
采纳率:96%
帮助的人:16.4万
展开全部

判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

#include〈math.h〉
main()
{ int m,k,i;
for(m=1;m<=100;m=m+2) //m=m+2,因为偶数都不是素数,不用考虑,所以每次m+2.
{ k=sqrt(m) //先求这个数的平方跟
for(i=2;i<=k;i++) //然后用i(从2到k,即m的平方跟)去除m,
if(m%i==0) break; //如果能被整除, 则不是素数,break
if(i>=k+1) pritnf("%d",m); //如果i>k+1,则说明没有数能整除m.则m是素数
}
}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自美国迷人的阿拉蕾
推荐于2018-05-15 · TA获得超过2896个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:178万
展开全部
所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除。因此判断一个整数m是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数
另外判断方法还可以简化。m不必呗2~m-1之间的每一个整数去除,只需被2~√m之间的每一个整数去除就可以了。如果m不能被2~√m间任一整数整除,m必定是素数。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数。(原因:因为如果m能被2~m-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m。例如16能被2,4,8整除,16=2*8,2小于4,8大于4,16=4*4,4=√16,因此只需判定在2~4之间有无因子即可)
#include<stdio.h>
#include<math.h>
void main()
{
int m,i,k;
printf("请输入一个整数:");
scanf("%d",&m);
k=(int)sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>k)
printf("%d 是素数。\n",m);
else
printf("%d 不是素数。\n",m);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(96)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式