zoukankan      html  css  js  c++  java
  • python第七周练习题

    首先,本人专注于java项目,力战c/c++算法,所以python的语法好多都不太了解,虽然会做题,但要翻阅好多python语法知识.所以更新比较慢,本人主要卡在不是结果上,而是对结果的格式化上,这真的是...难以形容.各位小伙伴如果有比较好的经验可以在评论区留言哦.


    1.求最大素数(没啥好说的,直接暴力)

    import math
    n = int(input())
    list=0
    for i in range(2,n):
        a=0
        for k in range(2,10):
            if i%k==0:
                a=1
        if a==0:
           list=i
    print(list)
    

    2.分解质因数(本来c++昨天刚写过,今天换一种语言,我感觉写程序两种语言都搞混了,唉)

    n = num = int(input())  #用num保留初始值
    f = []  #存放质因数的列表
    for j in range(int(num/2)+1):  #判断次数仅需该数字的一半多1次
        for i in range(2, n):
            t = n % i  #i不能是n本身
            if t == 0:  #若能整除
                f.append(i)  #则表示i是质因数
                n = n//i
                break
    if len(f) == 0:  #若一个质因数也没有
        print('该数字没有任何质因数。')
    else:  #若至少有一个质因数
        f.append(n)
        f.sort()  #排下序
        print(f)
    

    3.N位水仙花数(老生常谈了)

    n = int(input())
    list2=[]
    for i in range(10**(n-1),10**n):
      str1=str(i)
      sum1=0
      for j in str1:
        num=int(j)
        sum1+=num**n
      if i==sum1:
        list2.append(i)
    for j in (list2):
        print(j)
    

    4.判断闰年(重点是找到3个边界条件,没啥办法,记住就行)

    year = int(input())
    if (year % 4) == 0:
       if (year % 100) == 0:
           if (year % 400) == 0:
               print("True")   # 整百年能被400整除的是闰年
           else:
               print("False")
       else:
           print("True")       # 非整百年能被4整除的为闰年
    else:
       print("False")
    

    5.完数(这个格式化输出气煞我也,耗费20多分钟格式化)

    k = int(input())
    for i in range(2, 1000):
        if k:
            l1 = []
            for j in range(1,i):
                if i % j == 0:
                    l1.append(j)
            num = sum(l1)
            if num == i:
                print ("%d="%i,sep='',end='')
                for i in range(len(l1)):
                    if i == len(l1) - 1:
                        print ("%d"%l1[i],sep='',end='')
                    else:
                        print ("%d+"%l1[i],sep='',end='')
                k = k-1
                print("")
    
    

    6.自定义幂函数(半分钟)

    def fun(x,n):
        sum = 1
        for i in range(n):
            sum *= x
        print(sum)
    x,n = map(int,input().split())
    
    fun(x,n)
    

    7.累加函数(半分钟)

    def mysum(n):
        sum = 0
        for i in range(1,n+1):
            sum += i
        print(sum)
    n = int(input())
    mysum(n)    
    
    

    8.阶乘(1分钟)

    def fun(n):
        sum = 1
        for i in range(1,n+1):
            sum *= i
        return sum
    n = int(input())
    result = 0
    for i in range(1,n+1):
        result += fun(i)
    print(result)
    
    
  • 相关阅读:
    Today
    react-decorator-track 解耦-埋点方案
    Decorator
    webpack4强势来袭
    同源策略与跨域处理
    html语义化
    深度遍历与广度遍历的理解
    Javascript 模块化理解
    算法之排序
    数组去重
  • 原文地址:https://www.cnblogs.com/jachinlin/p/12705340.html
Copyright © 2011-2022 走看看