day4作業(yè)

基礎

讀程序,總結(jié)程序的功能:

numbers=1  
for i in range(0,20):  
    numbers*=2  
print(numbers)  

解:
2的20次冪

summation=0
num=1
while num<=100:
    if (num%3==0 or num%7==0) and num%21!=0:
        summation += 1
    num+=1
print(summation)

解:
計算出1到100(包括100)的能夠被3或7整除,并且不能被21整除的數(shù)的個數(shù)

3.求1到100之間所有數(shù)的和、平均值

sum1 = 0
for i in range(101):
    sum1 += i

print(sum1)
ave = sum1 / 100
print(ave)

結(jié)果:

5050
50.5

4.計算1-100之間能3整除的數(shù)的和

sum1 = 0
for i in range(101):
    if not i%3:
        sum1 += i

print(sum1)

結(jié)果:

1683

5.計算1-100之間不能被7整除的數(shù)的和

sum1 = 0
for i in range(101):
    if i%7:
        sum1 += i

print(sum1)

結(jié)果:

4315

6.有一對兔子,從出生后第3個月起,每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問第n個月的兔子總共有多少?

規(guī)律: 第一個月和第二個月的數(shù)量都是1 從第三個月開始 n =( n-1) + (n-2)

1,1,2,3,5,8,13,21...n?

1 1

2 1

3 2 = 1+1

4 3 = 1+2

5 5 = 2+3

6 8 = 3+5

n 第(n-1)+第(n-2)

n = n1 + n2

n==3 n1=1,n2=1 n=n1+n2=2

n==4 n1 = n2 n2 = n n = n1+n2
循環(huán):

n = input('請輸入要第幾個月的兔子數(shù):')
sum1 = 1
sum2 = 1
for i in range(3, int(n)+1):
    if 3 > int(n) >= 1:
        print('1')
    else:
        temp = sum1 + sum2
        sum1 = sum2
        sum2 = temp

print(temp)

結(jié)果:

請輸入要第幾個月的兔子數(shù):6
8

遞歸:

def rabbits(n):
    if n<=2:
        return 1
    else:
        return rabbits(n-1)+rabbits(n-2)

n = input('請輸入要第幾個月的兔子數(shù):')
print(rabbits(int(n)))

結(jié)果:

請輸入要第幾個月的兔子數(shù):6
8

7.判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。判斷素數(shù)的方法:用一個數(shù)分別除2到sqrt(這個數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)

import math

list1 = []
for index1 in range(101, 200):
    num_sqrt = int(math.sqrt(index1))
    for index2 in range(2, num_sqrt+1):
        if not index1%index2:
            break
        elif index2==num_sqrt:
            list1.append(index1)

print(list1)

結(jié)果:

[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]

8.打印出所有的水仙花數(shù),所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個水仙花數(shù),因為153 = 1^3 + 5^3 + 3^3

list1 = []
for num in range(100, 999):
    num_str = str(num)
    if num==int(num_str[0]) ** 3 + int(num_str[1]) ** 3 + int(num_str[2]) ** 3:
        list1.append(num)

print(list1)

結(jié)果

[153, 370, 371, 407]

9.有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列的第20個分數(shù)

1 2 1

2 3 2

3 5 3

4 8 5

分子:上一個分數(shù)的分子加分母 分母: 上一個分數(shù)的分子

fz = 2 fm = 1

fz+fm / fz

denominator = 1
numerator = 2
index = 1
flag = 20
while index!=flag:
    temp = denominator
    denominator = numerator
    numerator = temp + numerator
    index += 1

print(numerator, '/', denominator)

結(jié)果:

17711 / 10946

10.給一個正整數(shù),要求:1、求它是幾位數(shù) 2.逆序打印出各位數(shù)字

num = input('請輸入一個整數(shù):')

print('%s的長度是:%s'%(num,len(num)))
print('逆序輸出為:', num[::-1])

結(jié)果:

請輸入一個整數(shù):12356
12356的長度是:5
逆序輸出為: 65321
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1. 2的20次方 2. 能被3或7整除 且不能被21整除得數(shù)(100以內(nèi)上述數(shù)的個數(shù)) 1.求1到100之間所有...
    跟我念一遍閱讀 342評論 0 6
  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,993評論 0 2
  • 基礎 讀程序,總結(jié)程序的功能1、 功能:計算2的20次方 2、 功能: 統(tǒng)計1到100內(nèi),有多少個能被3或7整除,...
    七夜_174e閱讀 428評論 0 7
  • 作業(yè)1 本程序的作用是輸出2的20次方作業(yè)2 該程序的作用是輸出0-100中能被3或7整除但不能被21整除的數(shù) 作...
    FansYuercero閱讀 194評論 0 5
  • 50道經(jīng)典Java編程練習題,將數(shù)學思維運用到編程中來。抱歉哈找不到文章的原貼了,有冒犯的麻煩知會聲哈~ 1.指數(shù)...
    OSET我要編程閱讀 7,277評論 0 9

友情鏈接更多精彩內(nèi)容