day05

一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
n = 0
h = 0.00008
while h < 8848.13:
    h *= 2
    #print(h)
    n += 1
print(n)
2. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

3. 将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
n = 123
print(n,"=",end=" ")
while True:
    for x in range(2,int(n**(1/2))+1):
        if n % x == 0:
            n //= x
            print(x,end="x")
            break
    else:
        print(n)
        break
4. 输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析:利用辗除法。
m = int(input("请输入一个正整数:"))
n = int(input("请输入另一个正整数:"))
sum = m * n
t = 0
if n > m:
    t = m
    m = n
    n = t
while m % n != 0:
    s = m % n
    m = n
    n = s
print("最大公因数:", n)
print("最小公倍数:", sum/n)
5. 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3. 编程 找出1000以内的所有完数
for num in range(1, 1001):
    sum = 0
    for x in range(1, num):
        if num % x == 0:
            sum += x
            #print("sum=",sum)
    if sum == num:
        print(num)
6.输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日数:"))
sum = 0
if month == 1:
    sum = day
elif month == 2:
    sum = day + 31
elif month == 3:
    sum = day + 59
elif month == 4:
    sum = day + 90
elif month == 5:
    sum = day + 120
elif month == 6:
    sum = day + 151
elif month == 7:
    sum = day + 181
elif month == 8:
    sum = day + 212
elif month == 9:
    sum = day + 243
elif month == 10:
    sum = day + 273
elif month == 11:
    sum = day + 304
else month == 12:
    sum = day + 334 
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    if month >= 3:
        sum += 1
print(sum)
7. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
num = int(input("请输入一个四位整数:"))
n = num // 1000
while n <= 0 or n > 9:
    num = int(input("请重新输入一个四位整数:"))
    n = num // 1000
q_wei = num // 1000
b_wei = num // 100 % 10
s_wei = num // 10 % 10
g_wei = num % 10

q_wei, b_wei, s_wei, g_wei= (q_wei+5)%10, (b_wei+5)%10, (s_wei+5)%10, (g_wei+5)%10
q_wei, g_wei = g_wei,q_wei
b_wei, s_wei = s_wei, q_wei

print(str(q_wei)+str(b_wei)+str(s_wei)+str(g_wei))
8. 获取第n个丑数。 什么是丑数: 质数因子只包含2,3,5的数

6 =1* 23 -> 丑数
2 = 1
2 -> 丑数
7 = 1*7 -> 不是丑数
1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36 ….

n = int(input("请输入第几个丑数:"))
x = 1 
count = 0
while True:
    temp = x
    while temp % 2 == 0:
        temp //= 2
    while temp % 3 == 0:
        temp //= 3
    while temp % 5 == 0:
        temp //= 5
    if temp == 1:
        count += 1
    if count >= n:
        break
    x += 1
print(x)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1一张纸的厚度大约是0.08mm,对折多少次后能到达珠穆朗玛峰的高度(8838.13m) 2.古典问题:有一对兔子...
    PonesRyang阅读 1,121评论 0 0
  • 1. 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)? 2. 古典问题...
    我去买个橘子o阅读 1,522评论 0 0
  • 函数的概念及作用 函数可以封装任意多条语句, 而且可以在任何地方、任何时候调用执行。JS中的函数也是对象,所以JS...
    azure_1122阅读 3,369评论 0 0
  • 输入输出函数 1.输出函数出:print() 1.默认每一个print函数,输出完内容后会输出一个换行2.一个pr...
    ____空白阅读 1,423评论 0 3
  • 转变思想观念 今天晚上是我参加工作二十一年来,最开心的时间,今晚是优秀青椒学员公布名单的时候,我不敢打开电脑看直播...
    陕县2307刘宏铎阅读 3,704评论 11 8

友情链接更多精彩内容