美文网首页
2018-08-23 day4 作业

2018-08-23 day4 作业

作者: xaidc | 来源:发表于2018-08-24 09:18 被阅读0次
    1.基础

    1.读程序,总结程序的功能



    答:计算2的20次方



    答:计1-100中,能被3整除或者被7整除但是不能被21整除的数有多少个
    2.编程实现(for和while各写一遍)
    1.求1到100之间的所有数的和,平均值
    #for循环
    num1 = 0
    for i in range(0,101):
        num1 += i
    avg1 = num1/i
    print("1-100的所有数的和为%d,平均值为%.2f" % (num1,avg1))
    输出结果
    1-100的所有数的和为5050,平均值为50.50
    
    #while循环
    x=1
    num2=0
    while x <= 100:
        num2 += x
        x += 1
    avg2=num2/(x-1)
    print("1-100的所有数的和为%d,平均值为%.2f" % (num2,avg2))
    输出结果
    1-100的所有数的和为5050,平均值为50.50
    
    2.计算1到100之间能3整除的数的和
    #for循环
    num3 = 0
    for y in range(1,101):
        if not y % 3:
            num3 += y
    print("1-100之间能3整除的数的和为:%d" % num3)
    输出结果
    1-100之间能3整除的数的和为:1683
    
    #while循环
    n = 1
    num4 = 0
    while n <= 100:
        if not n % 3:
            num4 += n
        n += 1
    print("1-100之间能3整除的数的和为:%d" % num4)
    输出结果
    1-100之间能3整除的数的和为:1683
    
    3.计算1到100之间不能被7整除的和
    #for循环
    num5 = 0
    for a in range (1,101):
        if a%7:
            num5 += a
    print("1-100之间不能被7整除的数的和为:%d" % num5)
    输出结果
    1-100之间不能被7整除的数的和为:4315
    
    #while 循环
    z = 1
    num6 = 0
    while z <= 100:
        if z%7 :
            num6 += z
        z += 1
    print("1-100之间不能被7整除的数的和为:%d" % num6)
    输出结果
    1-100之间不能被7整除的数的和为:4315
    
    3
    1.求斐波那契数列中的第n个数的值:1,1,2,3,5,8,13,21,34...
    n = int(input("输入你想求斐波那契数列第几个数的值:"))
    num1=num2=1
    num=0
    i = 2
    while i < n :
        num=num1+num2
        num1=num2
        num2=num
        i += 1  
    if (n == 1 or n ==2):
        num=1
    print("斐波那契数列第%d个的数的值是:%d" % (n,num))
    输出结果:
    
    输入你想求斐波那契数列第几个数的值:9
    斐波那契数列第9个的数的值是:34
    
    
    2.判断101-200之间有多少个素数,并输出所有素数。判断素数的方法在;用一个数分别除2到sqrt(这个数),如果能被整除,则表明次数不是素数,反之是素数。
    import math
    num = 0
    for i in range(101,201):
        for x in range(2,int(math.sqrt(i))+1):
            if i%x ==0:
                break
        else:
            num += 1
            print(i)
    
    print('101-200之间有%d个素数'% num)
    输出结果:
    101
    103
    107
    109
    113
    127
    131
    137
    139
    149
    151
    157
    163
    167
    173
    179
    181
    191
    193
    197
    199
    101-200之间有21个素数
    
    03打印出所有的水仙花数,所谓水仙花数是指一个三位数。其各位数字立方和等于该数本身。例如153就是一个水仙花数,因为153=13+53+3^3
    num = 0
    for i in range(100,1000):
        newstr=str(i)
        if (i ==int((newstr[0]))**3+int((newstr[1]))**3+int((newstr[2]))**3):
            print(newstr)
            num += 1
    print("一共有%d个三位数是水仙花数"%num)
    输出结果
    153
    370
    371
    407
    一共有4个三位数是水仙花数
    
    04有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的第20个分数。分子:上一个分数的分子加分母,分母:上一个分数的分子。fz=2 fm = 1 fz+fm/fz
    fz = 2
    fm = 1
    fm1 = 0
    for i in range(1,20):
        fm1 = fz +fm
        fm = fz 
        fz=fm1
    
    print("这个数列第二十个是:%d/%d"%(fz,fm) )
    输出结果
    这个数列第二十个是:17711/10946
    
    05.给一个正整数,要求:1.求他是几位数 2.逆序打印出各位数字
    n=int(input("请输入一个正整数:"))
    newstr=str(n)
    print("这个正整数是%d位数"%len(newstr))
    print(int(newstr[::-1]))
    输出结果
    请输入一个正整数:6758
    这个正整数是4位数
    8576
    
    

    相关文章

      网友评论

          本文标题:2018-08-23 day4 作业

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