python的日常20题小题 上

本文档详细介绍了如何用Python编程解决一系列数学问题,包括判断素数、寻找水仙花数、分解正整数质因数、计算数字序列和、查找1000以内完数,以及处理奖金提成计算和特定数值问题。通过实例展示了基础算法和实际应用场景。
摘要由CSDN通过智能技术生成

1.判断2-100之间有多少个素数,并输出所有素数。

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

for i in range(2,101):
    #如果从头到尾都没有因数,则是素数
    foe k in range(2,i+1):
        if x==y:
           print(f"{x}:是素数")
        elif x%y==0:取余数
           break

2.打印出所有的”水仙花数“,所谓”水仙花数“是指一个三位数,其各位数字立方和等于该数本身。列如:153是一个水仙花数。因为153=1的三次方+5的三次方+3的三次方

for i in range(100,1000):
    a=i//100
    b=i//10%10
    c=i%10
    if i==a**3+b**3+c**3:
       print(f"{i}:是一个水仙花数")

3.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

n=int(input("请输入一个正整数:"))
k=2
print(n,"=",end="")
while k<n:
    if n%k==0:
       print(f"{k}*",end="")
       n//=k
    else:
       k+=1
else:
    print(k)

4. 求s=a+aa+aaa+aaaa+aaaa...a,其中a是一个数字。例如5+55+555+5555+55555

a=int(input("请输入一个10以内的正整数:"))
num=a
sum=num
for i in range(a-1):
    num=num*10+a
    sum+=num
print(sum)

 5.一个数如果恰好能等于它的因子之和,这个数就称为”完数“。例如6=1+2+3.编程找出1000以内的所有完数。

for i in range(2,1000):
    sum = 0
    for j in range(1,i):
         if i%j==0:
            sum+=j
    if sum==i:
         print("完数:",sum)

 6.一个球从100米的高度自由落下,每次落地后反跳回原来高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高

height=100
sum=0
for i in range(0,10):
    height/=2
    sum+=height
print("共经过:%f"%sum,"第10次反弹:%f"%height,"高")

 7.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

count=0
for a in range(1,5):
    for b in range(1,5):
        for c in range(1,5):
            if a!=b&a!=c&b!=c:
                print(a,b,c)
                count+=1
print(f"能组成{count}个互不相同且无重复的三位数")

8. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

profit=float(input("请输入当月利润I:"))                                                               
bouns=0                                                                                        
if profit <=100000:                                                                            
    bouns=profit*0.1                                                                           
    print("应发放奖金总数:%f"%bouns)                                                                  
elif profit <200000:                                                                           
    bouns = 100000*0.1+(profit-100000)*0.075                                                   
    print("应发放奖金总数:%f"%bouns)                                                                  
elif profit <400000:                                                                           
    bouns = 100000*0.1+100000*0.075+(profit-200000)*0.05                                       
    print("应发放奖金总数:%f"%bouns)                                                                  
elif profit <600000:                                                                           
    bouns = 100000*0.1+100000*0.075+200000*0.05+(profit-400000)*0.03                           
    print("应发放奖金总数:%f"%bouns)                                                                  
elif profit <1000000:                                                                          
    bouns = 100000*0.1+100000*0.075+200000*0.05+200000*0.03+(profit-600000)*0.015              
    print("应发放奖金总数:%f"%bouns)                                                                  
elif profit >1000000:                                                                          
    bouns = 100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(profit-1000000)*0.01 
    print("应发放奖金总数:%f"%bouns)                                                                  
                                                                                               
                                                                                               

 9.一个整数,它加上100后是一个完全平方数,在加上168又是一个完全平方数,请问该数是多少?以10000以内

for i in range(1,10000):
    for j in range(1,450):
        if (j == (i + 100) ** (1 / 2)):
            for k in range(1,450):
                if(k==(i+268)**(1/2)):
                    print(i)

 10.用*打印出棱形、等腰三角形和等腰梯形:在三角基础上打印(5层)

#棱形
for i in range(1,6):
    for k in range(5-i):
        print(" ",end="")
    for l in range(2*i-1):
        print("*",end="")
    print()
for i in range(1,5):
    for k in range(i):
        print(" ",end="")
    for l in range((5-i)*2-1):
        print("*",end="")
    print()

#等腰梯形
for i in range(1,6):
    for k in range(5-i):
        print(" ",end="")
    for j in range(2*i+6):
        print("*",end="")
    print()

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值