【C语言 VS Python】 判断M是否是素数

判断一个数是不是素数,采用的算法如下:

让m先后被2到√m(平方根)除,如果能够被2~√m之中的任何一个整数整除,则提前结束循环,而此时的i必然小于或者等于k=√m;如果m不能够被2~k之间的任意一个整数整除,则在完成最后一次循环后,i的值加1,因此i=k+1,然后终止循环。

循环结束后,我们判断i的值是否大于或者等于k+1,如果成立,这就说明m没有被2~k之中的任何一个整数整除过,因此判断m素数。

C语言代码如下:

#include <stdio.h>

#include <math.h>

void main()

{

    int m,i,k;

    scanf("%d",&m);

    k=sqrt(m);

    for (i=2;i<=k;i++)

        if (m%i==0)break;

    if(i>k)printf("%d is a prime number!\n",m);

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

}


Python语言代码程序如下:

#!/usr/bin/pytnon3
#-*-coding:UTF-8-*-

import math

m = int(input("请输入一个整数:"))
k = math.sqrt(m)
i = 2
while i<=k:
if m%i==0:
break
i+=1
if i>k:
print("%d是一个素数"% m)
else:
print("%d不是一个素数"% m)

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhi_neng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值