python選修課大作業

2021-10-19 12:30:05 字數 1241 閱讀 9829

設計內容:輸入乙個正整數s(s>2),輸出所有和為s的連續正整數序列。要求先輸出符合要求的序列的數目,然後分行輸出各個序列。

設計要求:使用python程式設計。例如,一組連續正數和為100的序列:18,19,20,21,22。

"""

(1)找出所有和為s的連續正數序列。

設計內容:輸入乙個正整數s(s>2),輸出所有和為s的連續正整數序列。

要求先輸出符合要求的序列的數目,然後分行輸出各個序列。

設計要求:使用python程式設計。例如,一組連續正數和為100的序列:18,19,20,21,22。

"""s = int(input("請輸入乙個大於2的正整數: "))

s1 = int((s+1) / 2) # 乙個數的和 不會大於它前 二分之一(奇數向取整)的和

sum = 0

list1 =

for i in range(1,s1+1):

for j in range(i,s1+1):

sum += j

if sum == s:

#list() 方法將元組轉換為列表

#range() 左閉右開

#將符合的序列以列表儲存,

sum = 0

break

if sum > s: #減少演算法開銷,大於了直接退出

sum = 0

break

print("符合要求的序列數目為: " ,len(list1))

print(list1)

設計內容:任何乙個大於2的偶數都可以分解為兩個素數之和,這就是著名的哥達**猜想。

設計要求:要求輸入乙個大於2的偶數,程式執行後,輸出兩個素數,其和正好等於該偶數。

"""

(2)驗證「哥德**猜想」。

設計內容:任何乙個大於2的偶數都可以分解為兩個素數之和,這就是著名的哥達**猜想。

設計要求:要求輸入乙個大於2的偶數,程式執行後,輸出兩個素數,其和正好等於該偶數。

"""num = int(input("請輸入乙個大於2的偶數: "))

num1 = int((num+1)/2)

for i in range(1,num1):

a = i

b = num - i

if (a+1) % 2 == 0 & (b+1) % 2 ==0:

print(str(num)+"="+str(a)+"+"+str(b))

Python選修課的體驗

身為乙個理工男,程式語言設計並不是很陌生。之前接觸過c的原因,自我感覺學python上手還是挺快的。python給我的感覺就是真的比c簡單好多。很多c需要用陣列寫好長一段 才能解決的問題,用python幾行 就能解決,體驗過c的繁瑣之後,python的簡單粗暴帶給我的感覺不是一般的爽。沒有為這門課做...

Python選修課作業的某一小題

第三次作業,竟然卡在了這樣一道題上面 一些同學來自於同乙個專業,但他們各自選修不同的課程。現有4門課程成績單 grade1 grade4 grade1 grade2 grade3 grade4 問題 生成個人成績單,並顯示每個人選修了幾門課程。要求大致執行結果如下 劉達選修了3門課程 高等數學 89...

ACM選修課5 貪心法

部分最優,結果最優 需證明 貪心問題的特徵 1 乙個問題的最優解包含其子問題的最優解 2 整體最優解可以通過區域性的最優的選擇 老鼠的旅行 include using namespace std struct sa data 1001 intcmp const sa a,const sa b int...