美文网首页
day05作业

day05作业

作者: 我去买个橘子o | 来源:发表于2019-03-08 20:12 被阅读0次

1. 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?

n = 0.08
i = 0
while n/1000<8818.13:
    n *= 2
    i += 1
print(i)

2. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

n = int(input("输入第几个月: "))
m = 0
for i in range(1, n+1, 3):
    m += 1
print("第",n,"个月有",2**m,"只兔子")

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

num = int(input("输入一个正整数: "))
print(num,end='=')
n = 2
for i in range(2, num):
    if num%n == 0:
        print(n,end='')
        n = 2
        num = num//n
        if num == 1:
            break
        else:
            print('*')
            continue
    else:
        n += 1
        continue

4. 输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析:利用辗除法。

m = int(input("输入m: "))
n = int(input("输入n: "))
max = 

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


a = 2
half = 0        #为此时计算数字的一半
MyList = []     #保存不是素数的所有分解因子
flag = False    #判断是否有分解因子  False为素数  True表示有分解因子
sum = 0
while a<=1000:
    half = a//2
    while half>=1:
        if a%half == 0:  #找到一个分解因子
            MyList.append(half)     #将分解因子存入数组中
            flag = True
        half = half-1   #将half减一,一直进行while循环找出所有的分解因子
    if flag==True:
        for x in MyList:        #将所有因子相加
            sum += x
        if sum == a:     #说明是完数
            print(a,'是一个完数。分解因子为:')
            for y in MyList:        #输出所有的分解因子
                print(y,end=' ')
            print('\n')
    a += 1      #判断完一个数以后,将相关条件都重置
    MyList = []    
    flag = False
    sum=0

6. 输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

year = int(input("请输入年分:"))
month = int(input("请输入月份:"))
day = int(input("请输入日:"))

print("-" * 20)
day += (month - 1) * 30
if month < 9:
    day += month // 2
else:
    day += (month + 1) // 2

if month > 2:
    if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:
        day -= 1
    else:
        day -= 2
print("是一年的第%d天"%day)

7. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值

num1 = int(input("请输入四位的整数: "))
a = num1//1000 + 5
b = num1//100%10 + 5
c = num1//10%10 + 5
d = num1%10 + 5

a, d = d%10, a%10
b, c = c%10, b%10
print(a,b,c,d,sep='')

相关文章

  • Day05作业

    基础 '''读程序,总结程序的功能: numbers=1for i in range(0,20):numbers*...

  • Day05 - 作业

    作业:ATM 一、作业要求:模拟实现一个ATM + 购物商城程序 额度15000或自定义实现购物商城,买东西加入购...

  • day05作业

    1. 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)? 2. 古典问题...

  • day05 作业

    读程序,总结程序的功能: 求2的20次方 统计1~100中能被3整除或被7整除,但同时不能被21整除的数字的个数 ...

  • 自律给我自由—Day005

    【叶子姑娘的自律100天挑战 Day05】 2019.01.18 Day05/100 【早起】睡得很好,准时起床运...

  • Day05‖冰冰‖记忆作业

    今天的数字记忆法好有趣,把一些数字变成词语去记,特别是谐音记忆法,不过自己接受力还是需要加强。同时发现谐音的字也能...

  • 2018-10-18流程图

    流程图day05流程图_20181018172731.png

  • java035把文件中的数据读到集合并遍历

    package day05; import java.io.BufferedReader; import java...

  • java String类 --> final

    package day05; import java.util.Arrays; public class Demo...

  • java035把集合中的学生信息写入文本文件

    定义学生类: package day05; public class Student { private Stri...

网友评论

      本文标题:day05作业

      本文链接:https://www.haomeiwen.com/subject/asudpqtx.html