睡到自然醒^^ 2021-11-05 10:29 采纳率: 66.7%
浏览 249
已结题

编写一个判断一个数是否是素数的函数。

                                                                       编写一个判断一个数是否是素数的函数。
  • 写回答

7条回答 默认 最新

  • -Undefined_ 2021-11-05 10:30
    关注
    def isPrime(n):
        for i in range(2,n):
            if n%i==0:
                return False
        return True
    print(isPrime(7))
    


     觉得有用的话采纳一下哈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • been_ss 2021-11-05 10:33
    关注

    哈喽,代码如下,有用请点采纳哦~

    s=int(input("请输入一个正整数:"))
    if s<2:
        print("这个数不是素数!")
    else:
        for i in range(2,s):
            if s%i==0:
                print("这个数不是素数!")
                break
        else:
            print("这个数是素数!")
    
    
    评论
  • m0_63731574 2021-11-05 10:30
    关注

    #include<stdio.h>
    #include<math.h>
    int main()
    {
    int a;
    printf("输入你想的数:");
    scanf("%d", &a);

    int i;
    int q = sqrt(a);

    for(i=2;i<=q;i++){
    if(a%i == 0){
    break;
    }
    }
    if(i>q){
    printf("%d是素数", a);
    }
    else{
    printf("%d不是素数", a);
    }

    return 0;
    

    }

    评论
  • M_manong 2021-11-05 10:32
    关注

    def isPrime4(n):
    for i in range(3,int(n**0.5),2):#将步长设为2
    if n % i == 0:
    return False
    else:
    return True

    N = 1000 #

    strPrime = "2 "
    for j in range(3,N,2):
    if isPrime4(j):
    strPrime = strPrime + str(j) + " "
    print(strPrime)

    评论
  • PythonJavaC++go 2021-11-05 10:44
    关注
    
    import math
    
    
    #判断素数, True 代表是素数
    def is_prime(num):
        flag = True
        if num > 1:
            for i in range(2, math.floor(math.sqrt(num)) + 1):
                if (num % i) == 0:
                    flag = False
                    break
        return flag
    print(is_prime(2))
    print(is_prime(3))
    print(is_prime(4))
    
    评论
  • ~白+黑 Python领域新星创作者 2021-11-05 14:13
    关注
    
    """
    素数只能被1和自身整除的数,所有的数都能被1和自身整除,剩下的就是判断是否有其他约数
    一个正整数m的约数范围应该在2--m/2之间,超过了这个数的一半,余数不可能为0,所以代码如下
    函数中未对1和小于等于0做判断
    """
    def is_su(num):
        for i in range(2,num//2+1):
            if num%i==0:
                print("不是素数")
                break
        else:
            print("是素数",num)
            return num
        
    
    #打印一百以内素数
    print([is_su(m) for m in range(2,100) if is_su(m)])
    

    [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

    评论
  • 笨鸟快飞呀 2021-11-05 23:04
    关注

    通过素数的定义,我们可以用如下方法编写函数,测试1-10的整数,结果如下:
    注意:0和1 既不是素数,也不是合数

    def isprime(n):
        if n == 0 or n == 1:
            return False
    
        for i in range(2, n):
            if n % i == 0:
                return False
        return True
    
    for i in range(10):
        if isprime(i):
            print("%s is 素数" %i)
    
    2 is 素数
    3 is 素数
    5 is 素数
    7 is 素数
    
    
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 已采纳回答 11月9日
  • 创建了问题 11月5日

悬赏问题

  • ¥100 正常上网,内部网页无法打开
  • ¥15 组件库引入并使用在若依框架未展示
  • ¥149 关于#使用python 的Flash Echarts+ajax+mysql动态数据实现饼图#的问题,请各位专家解答!
  • ¥15 RichTextBox中追加文本时报错
  • ¥15 关于c语言的学习问题
  • ¥15 activity升级到flowable工作流act_ge_bytearray的草稿json数据复制到act_de_model 的model_editor_json的脚本
  • ¥15 cvi使用CreateThread创建线程时,出现存储空间不足无法处理此命令的错误
  • ¥15 求苹果推信imessage批量推信技术
  • ¥15 ubuntu 22.04 系统盘空间不足。隐藏的docker空间占用?(相关搜索:移动硬盘|管理系统)
  • ¥15 c++ word自动化,为什么可用接口是空的?