IN4. Conditions and Loops +判斷奇偶數

更新於 發佈於 閱讀時間約 3 分鐘

題目連結

計算所有在a~b之間的奇數數字


python 沒有內建 isOdd()函式,所以只能寫if判斷奇數、偶數

a, b = 100, 200

total = 0 # 如果用sum作為變數名稱會與內建函數衝突。如果取名為s會誤以為是string縮寫

for i in range(a, b+1):
if i % 2 == 1:
total += iprint(total)



也有人使用 i&1 來做計算:某數字是不是經過 "and musk 1" 之後為True

這概念在底層語言(例如C語言)效能上會快很多

但由於Python在實作方式的關係,這樣寫的運行速度不會比較快

程式碼

if x & 1:
return 'odd'
else:
return 'even'


---

迴圈解的解法,時間複雜度是O(n)


當數字量非常大的時候

此時可以運用公式解法(等差數列求和)

(頭+尾)x N / 2
將頭尾數字相加,乘以項數(將數字差除以2)

ex: 1~9 => 1+3+5+7+9 = (1+9)*5/2 = 25

ex: 0~10 => 1+3+5+7+9 = (1+9)*5/2 = 25,計算結果同上

但是要先取邊界將數值調整為1與9(調整至奇數

程式碼

a, b = 100, 200

# 如果a, b是偶數,則調整為奇數
if a % 2 == 0:
a += 1
if b % 2 == 0:
b -= 1

# 也可這樣寫,如果a是偶數則+1;如果b是偶數,則-1
# a += a % 2 == 0
# b -= b % 2 == 0

n = (b - a) // 2 + 1 # 奇數項數
total = n * (a + b) // 2

print(total)


公式解法,時間複雜度為O(1),可大幅解省執行所需時間




留言
avatar-img
留言分享你的想法!
avatar-img
生物資訊實驗室
0會員
17內容數
這裡存放著滿滿的大平台!Rosalind 生物資訊解題平台的學習過程! 📢 適合對象: ✅ 想學習生物資訊的程式新手 ✅ 對Python程式有基礎,想挑戰 Rosalind 題目的解題者 ✅ 對DNA、蛋白質、基因組數據分析有興趣的人
生物資訊實驗室的其他內容
2025/03/20
題目:https://rosalind.info/problems/ini6/ 從這題開始有一點點難度了 計算每個字詞出現的次數,區分大小寫(Python Dict 預設就是大小寫敏感) 首先將輸入字串,按照空白字元做切割,得到一個陣列 ['We', 'tried', 'list',
2025/03/20
題目:https://rosalind.info/problems/ini6/ 從這題開始有一點點難度了 計算每個字詞出現的次數,區分大小寫(Python Dict 預設就是大小寫敏感) 首先將輸入字串,按照空白字元做切割,得到一個陣列 ['We', 'tried', 'list',
2025/03/19
題目:https://rosalind.info/problems/ini5/ 讀入一個充滿文字的檔案 按照1-based 索引取出偶數行(第2、4、6... 行) with open("IN5.txt", "r", encoding="utf-8") as file: lines
2025/03/19
題目:https://rosalind.info/problems/ini5/ 讀入一個充滿文字的檔案 按照1-based 索引取出偶數行(第2、4、6... 行) with open("IN5.txt", "r", encoding="utf-8") as file: lines
2025/03/18
題目:https://rosalind.info/problems/ini3/ 給一長字串,然後a, b, c, d 4個數字 切出字串[a~b]、字串[c~d]的位置,連接後印出來 (須包含字串[b]、字串[d]的位置) s = "HumptyDumptysatonawallHum
2025/03/18
題目:https://rosalind.info/problems/ini3/ 給一長字串,然後a, b, c, d 4個數字 切出字串[a~b]、字串[c~d]的位置,連接後印出來 (須包含字串[b]、字串[d]的位置) s = "HumptyDumptysatonawallHum
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
高中數學主題練習—絕對值不等式
Thumbnail
高中數學主題練習—絕對值不等式
Thumbnail
高中數學主題練習—絕對值不等式
Thumbnail
高中數學主題練習—絕對值不等式
Thumbnail
高中數學主題練習—算幾不等式
Thumbnail
高中數學主題練習—算幾不等式
Thumbnail
高中數學主題練習—算幾不等式
Thumbnail
高中數學主題練習—算幾不等式
Thumbnail
高中數學主題練習—算幾不等式(一)
Thumbnail
高中數學主題練習—算幾不等式(一)
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
Python 提供了一系列內建函式,其中一部分涉及數學和數學操作。 以下是一些常用的內建函式和數學相關的函式: 基本數學運算: abs(x): 返回 x 的絕對值。 result = abs(-5) print(result) # 輸出: 5 max(iterable) 和 min(
Thumbnail
Python 提供了一系列內建函式,其中一部分涉及數學和數學操作。 以下是一些常用的內建函式和數學相關的函式: 基本數學運算: abs(x): 返回 x 的絕對值。 result = abs(-5) print(result) # 輸出: 5 max(iterable) 和 min(
Thumbnail
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
Thumbnail
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News