欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python模擬練習(xí)題總結(jié)(附答案)

 更新時間:2024年11月18日 09:37:03   作者:小虎牙^O^  
這篇文章主要給大家介紹了關(guān)于python模擬練習(xí)題的相關(guān)資料,文中涉及質(zhì)因數(shù)分解、開根變換、立方體拼接、日期計算、按位異或、停車場收費、整數(shù)操作、減法運算、相鄰數(shù)之和、以及最長勾子序列的尋找,每題都有具體的輸入輸出示例和代碼計算過程,需要的朋友可以參考下

問題一

如果一個數(shù) p 是個質(zhì)數(shù),同時又是整數(shù) a的約數(shù),則 p 稱為 a的一個質(zhì)因數(shù)。
請問 2024 有多少個質(zhì)因數(shù)?

步驟 1: 分解 2024

首先,2024 是偶數(shù),說明可以被 2 整除。我們從 2 開始進(jìn)行除法分解:

2024÷2=1012

1012÷2=506 

506÷2=253

253 不是偶數(shù),所以它不能再被 2 整除。我們接下來檢查 253 能否被 3 整除。因為 253 各位數(shù)字之和 2+5+3=10,10 不能被 3 整除,因此 253 不能被 3 整除。

接下來檢查 253 能否被 5 整除,253 末尾不是 0 或 5,所以不能被 5 整除。

然后檢查 253 能否被 11 整除。計算 253 除以 11:

253÷11=23

所以,253 可以被 11 整除,商為 23。23 是一個質(zhì)數(shù),無法再分解。

步驟 2: 質(zhì)因數(shù)分解

通過以上步驟,我們可以得出 2024 的質(zhì)因數(shù)分解:

2024=23×11×232024=23×11×23

步驟 3: 質(zhì)因數(shù)的個數(shù)

質(zhì)因數(shù)包括 2、11 和 23。因此,2024 的質(zhì)因數(shù)有 3 個,分別是 2、11 和 23。

答案:

2024 的質(zhì)因數(shù)有 3 個。

問題二

對于一個整數(shù) n ,我們定義一次開根變換會將 n 變?yōu)殚_根號后的整數(shù)部分。即變?yōu)槠椒胶筒怀^ n 的數(shù)中的最大數(shù)。

例如,20 經(jīng)過開根變換將變?yōu)?4 ,如果再經(jīng)過一次開根變換將變?yōu)?2 ,如果再經(jīng)過一次開根變換將變?yōu)?1 。

請問,2024經(jīng)過多少次開根變換后會變?yōu)?1 ?

初始值為 2024。

第一次開根變換:2024≈45.0112024?≈45.011,取整數(shù)部分為 45。

第二次開根變換:45≈6.70845?≈6.708,取整數(shù)部分為 6。

第三次開根變換:6≈2.4496?≈2.449,取整數(shù)部分為 2。

第四次開根變換:2≈1.4142?≈1.414,取整數(shù)部分為 1。

因此,2024經(jīng)過 4 次開根變換后會變?yōu)?1。

代碼計算:

import math
def abc(n):
    c = 0
    while n > 1:
        n = math.isqrt(n)  
        c += 1
    return c
n = 2024
a = abc(n)
print(a)

問題三

小藍(lán)有很多 1x1x1 的小立方體,他可以使用多個立方體拼成更大的立方體。

例如,小藍(lán)可以使用 8 個小立方體拼成一個大立方體,每邊都是 2 個。

又如,小藍(lán)可以使用 27 個小立方體拼成一個大立方體,每邊都是 3 個。

現(xiàn)在,小藍(lán)有 2024 個小立方體,他想再購買一些小立方體,用于拼一個超大的立方體,要求所有的小立方體都用上,拼成的大立方體每邊長度都相等。 請問,小藍(lán)最少需要購買多少個小立方體?

大立方體的體積: 一個邊長為 n 的大立方體的體積是 n**3(即 n×n×n)。

目標(biāo): 我們需要找到一個 n,使得 n**3≥2024,并且 n**3−2024 是最小的,即最少需要購買的立方體數(shù)量。

計算 2024 的立方根,以估計一個接近的 nn。我們可以用計算器計算:

2024≈12.6348

因此,邊長 n 至少應(yīng)該是 13,因為 123=1728小于 2024,而 133=2197 大于 2024。

133=2197 是一個大立方體的體積。

小藍(lán)已經(jīng)有 2024 個小立方體,所以他需要購買的數(shù)量是:

2197−2024=173

代碼計算:

n = 2024
i = 13
while i**3 < n:
    i += 1
x = i**3
a = x - n
print("小藍(lán)最少需要購買的立方體數(shù)量:", a)

問題四

如果一個日期的日期以 1 結(jié)尾(1日、11日、21日、31日)且為星期一,則稱這個日期為一好日期。

請問從 1901 年 1 月 1 日至 2024 年 12 月 31 日總共有多少個一好日期。

提示:1901 年 1 月 1 日是星期二。

確定日期范圍: 從 1901 年 1 月 1 日到 2024 年 12 月 31 日。

了解每個月的 "1 日"、"11 日"、"21 日"、"31 日": 這些是以 1 結(jié)尾的日期。我們需要檢查每個月這些日期是否是星期一。

確定每年的每個月的具體情況: 每年的不同月份中,某些月份的日期可能會出現(xiàn) 31 日,而有些月份(如 2 月、4 月、6 月等)沒有 31 日。

確定每個日期是星期幾: 利用已知的起始日期(1901 年 1 月 1 日是星期二),我們可以通過計算每個日期的星期幾來確定是否是星期一。

代碼計算:

import datetime
start_date = datetime.date(1901, 1, 1)
good_dates_count = 0

# 遍歷從1901年1月1日到2024年12月31日的日期
for year in range(1901, 2025):
    for month in range(1, 13):
        # 檢查該月的1日、11日、21日、31日(如果有31日)
        for day in [1, 11, 21]:
            try:
                # 創(chuàng)建該日期
                current_date = datetime.date(year, month, day)
                # 如果該日期是星期一(星期一對應(yīng)的數(shù)字是0)
                if current_date.weekday() == 0:
                    good_dates_count += 1
            except ValueError:
                # 如果日期無效(如2月30日),則跳過
                pass

        # 檢查31日是否在該月中有效
        if month in [1, 3, 5, 7, 8, 10, 12]:  # 有31日的月份
            try:
                current_date = datetime.date(year, month, 31)
                if current_date.weekday() == 0:
                    good_dates_count += 1
            except ValueError:
                pass
print("一好日期的總數(shù)是:", good_dates_count)

問題五

兩個數(shù)按位異或是指將這兩個數(shù)轉(zhuǎn)換成二進(jìn)制后,最低位與最低位異或作為結(jié)果的最低位,次低位與次低位異或作為結(jié)果的次低位,以此類推。

例如,3 與 5 按位異或值為 6 。

小藍(lán)有以下 30 個整數(shù):

9226, 4690, 4873, 1285, 4624, 1596, 6982, 590, 8806, 121, 8399, 8526, 5426, 64, 9655, 7705, 3929, 3588, 7397, 8020, 1311, 5676, 3469, 2325, 1226, 8203, 9524, 3648, 5278, 8647.

小藍(lán)想找一個整數(shù) V ,使得 V 與這 30 個數(shù)分別異或后,得到的 30 個數(shù)的平方和最小。請問平方和最小是多少?

1.將每個數(shù)轉(zhuǎn)換為 16 位二進(jìn)制數(shù)(因為最大數(shù) 9655 的二進(jìn)制表示需要 14 位,可以補充到 16 位來統(tǒng)一處理)。

2.對每一位,統(tǒng)計 30 個數(shù)中該位為 1 的數(shù)量。

3.如果該位為 1 的數(shù)量超過一半(即大多數(shù)數(shù)在該位上是 1),則選擇 V在這一位上為 1,否則為 0。

4.根據(jù)得到的 V 計算每個 ai⊕V 的平方和。

代碼計算:

nums = [
    9226, 4690, 4873, 1285, 4624, 1596, 6982, 590, 8806, 121, 8399, 8526, 5426,
    64, 9655, 7705, 3929, 3588, 7397, 8020, 1311, 5676, 3469, 2325, 1226, 8203,
    9524, 3648, 5278, 8647
]
bit_length = 16
count_ones = [0] * bit_length
for num in nums:
    for i in range(bit_length):
        if num & (1 << (bit_length - 1 - i)):
            count_ones[i] += 1
V = 0
for i in range(bit_length):
    if count_ones[i] > len(nums) // 2:
        V |= (1 << (bit_length - 1 - i))
squared_sum = 0
for num in nums:
    squared_sum += (num ^ V) ** 2
print(f"最小的平方和是: {squared_sum}")

問題六

小藍(lán)在一個停車場停車。

停車場的收費規(guī)則為:每 15 分鐘收費 2 元,不滿 15 分鐘的不收費。

小藍(lán)總共停車 n 分鐘,請問收費總額是多少?

【輸入格式】 輸入一行包含一個整數(shù) n ,表示小藍(lán)停車的時長。

【輸出格式】 輸出一行包含一個整數(shù),表示停車費用。

【樣例輸入】 150

【樣例輸出】 20

【樣例輸入】 2024

【樣例輸出】 268

我們可以使用整數(shù)除法和取余操作來幫助我們確定停車時長的分段數(shù)。

可以用 (n + 14) // 15 來計算向上取整的次數(shù)。如果 n 不是15的整數(shù)倍,就多計一段。

例如:對于 n = 16,(16 + 14) // 15 的結(jié)果是 2,表示收費2段15分鐘。

每段15分鐘收費2元,所以最終收費就是 (n + 14) // 15 * 2。

代碼計算

n=int(input())
if(n>=15):
    b=n//15
    c=b*2
print(c)

問題七

小藍(lán)有一個整數(shù) n ,每次操作,可以將這個整數(shù)的每個非零數(shù)位減少 1 。

請問經(jīng)過多少次操作,這個數(shù)會變?yōu)?0 。

例如,整數(shù) 2024 經(jīng)過一次操作變?yōu)?1013,再經(jīng)過一次操作變?yōu)?2 (即0002),再經(jīng)過兩次操作變?yōu)?0 ,總共經(jīng)過 4 次變換變?yōu)?0 。

【輸入格式】 輸入一行包含一個整數(shù) n 。

【輸出格式】 輸出一行,包含一個整數(shù),表示答案。

【樣例輸入】 2024

【樣例輸出】 4

觀察每一位:整數(shù)的每一位非零數(shù)字在每一次操作中都會減少 1,直到該位數(shù)字變成 0。

操作次數(shù):可以通過統(tǒng)計該整數(shù)各位的最大值來判斷操作次數(shù)。因為每一位數(shù)字都會在每一次操作中減少 1,所以最終需要進(jìn)行的操作次數(shù)就是這整個數(shù)各位最大數(shù)字的數(shù)量。

代碼計算:

def min_operations_to_zero(n):
    # 轉(zhuǎn)換為字符串,遍歷每一位字符
    digits = str(n)
    # 找出所有非零數(shù)字的最大值
    max_digit = max(int(d) for d in digits if d != '0')
    return max_digit

n = int(input().strip())

print(min_operations_to_zero(n))

問題八

小藍(lán)有一個減法式子,形如 a-b,其中 a 和 b 都是非負(fù)整數(shù)(不保證結(jié)果非負(fù))。

請編程處理這個式子,輸出運算結(jié)果。

【輸入格式】 輸入一行包含一個減法表達(dá)式,式子中僅含數(shù)字字符和一個減號。

【輸出格式】 輸出一行包含一個整數(shù),表示運算結(jié)果。

【樣例輸入】 2024-1949

【樣例輸出】 75

【樣例輸入】 20-24

【樣例輸出】 -4

輸入格式中有一個減法符號 -,它將兩個數(shù)字 a 和 b 分開。我們可以利用這個符號來分割輸入字符串,從而得到 a 和 b。

將解析出來的 a 和 b 轉(zhuǎn)換為整數(shù)后,直接進(jìn)行減法運算,得出結(jié)果。

代碼計算:

e = input().strip()
a, b = e.split('-')
a = int(a)
b = int(b)
print(a - b)

問題九

小藍(lán)有一個長度為 n 的整數(shù)數(shù)列 a[1], a[2], ..., a[n] 。

對于一個給點的整數(shù) k ,小藍(lán)想找到相鄰間隔為 1 的 k 個數(shù) a[p], a[p+2], a[p+4], ..., a[p+2k-2],使得他們的和最大。其中 1 <= p <= n-2k+2。

給定數(shù)列和 k ,請問給出最大的和。

【輸入格式】 輸入的第一行包含一個整數(shù) n 。

第二行包含 n 個整數(shù),相鄰數(shù)之間使用一個空格分隔,依次表示 a[1], a[2], ..., a[n] 。

第三行包含一個整數(shù) k 。

【輸出格式】 輸出一行,包含一個整數(shù),表示答案。

【樣例輸入】 10 2 1 4 7 4 8 3 6 4 7 2 【樣例輸出】 15 【樣例說明】 取 p=4,a[4]+a[6]=7+8=15 最大。

代碼計算:

def max_sum(n, a, k):
    max_sum_value = float('-inf')

    for p in range(n - 2 * k + 2):
        current_sum = 0
        for i in range(k):
            current_sum += a[p + 2 * i]  # a[p], a[p+2], ..., a[p+2k-2]
        max_sum_value = max(max_sum_value, current_sum)

    return max_sum_value
n = int(input())
a = list(map(int, input().split()))
k = int(input())
result = max_sum(n, a, k)
print(result)

問題十

小藍(lán)有一個長度為 n 的整數(shù)序列 a[1], a[2], ..., a[n] 。

他希望從中找出一個最長的子序列,形成一個勾的形狀(√)。

即找到 1 <= p[1] < p[2] < ... < p[k] <= n,滿足 a[p[1]] > a[p[2]] > a[p[3]] > ... > a[p[x]] < a[p[x+1]] < ... < a[p[k]] 。其中 k 是子序列的長度,x 是勾中最小的位置。目標(biāo)是使得 k 最大。

請找出最大的勾的長度。

【輸入格式】 輸入的第一行包含一個整數(shù) n 。

第二行包含 n 個整數(shù),相鄰數(shù)之間使用一個空格分隔,依次表示 a[1], a[2], ..., a[n] 。

【輸出格式】 輸出一行,包含一個整數(shù),表示答案。

【樣例輸入】 10 2 1 4 7 4 8 3 6 4 7 【樣例輸出】 5 【樣例說明】 當(dāng) p = (4,5,7,9,10) 時,a[4] , a[5] , a[7] , a[9] , a[10] 可形成一個長度為 5 的勾:7,4,3,6,7。

代碼計算:

def longest_hoop(n, a):
    dec = [1] * n
    inc = [1] * n

    for i in range(1, n):
        for j in range(i):
            if a[i] < a[j]:
                dec[i] = max(dec[i], dec[j] + 1)
    for i in range(n - 2, -1, -1):
        for j in range(n - 1, i, -1):
            if a[i] < a[j]:
                inc[i] = max(inc[i], inc[j] + 1)

    # 計算勾的最大長度
    max_length = 0
    for i in range(n):
        if dec[i] > 1 and inc[i] > 1:
            max_length = max(max_length, dec[i] + inc[i] - 1)

    return max_length

n = int(input())
a = list(map(int, input().split()))
print(longest_hoop(n, a))

總結(jié) 

到此這篇關(guān)于python模擬練習(xí)題的文章就介紹到這了,更多相關(guān)python模擬練習(xí)題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python基于opencv的圖像壓縮算法實例分析

    Python基于opencv的圖像壓縮算法實例分析

    這篇文章主要介紹了Python基于opencv的圖像壓縮算法,結(jié)合實例形式分析了使用opencv進(jìn)行圖像壓縮的常用操作技巧與注意事項,需要的朋友可以參考下
    2018-05-05
  • python+VTK環(huán)境搭建及第一個簡單程序代碼

    python+VTK環(huán)境搭建及第一個簡單程序代碼

    這篇文章主要介紹了python+VTK環(huán)境搭建及第一個簡單程序代碼,簡單介紹了vtk,然后分享了安裝步驟,最后涉及一個簡單的代碼示例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • fastapi框架異步執(zhí)行踩坑記錄

    fastapi框架異步執(zhí)行踩坑記錄

    這篇文章主要介紹了fastapi框架異步執(zhí)行踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python如何標(biāo)準(zhǔn)化日期時間格式轉(zhuǎn)化成非標(biāo)準(zhǔn)化格式

    python如何標(biāo)準(zhǔn)化日期時間格式轉(zhuǎn)化成非標(biāo)準(zhǔn)化格式

    這篇文章主要介紹了python如何標(biāo)準(zhǔn)化日期時間格式轉(zhuǎn)化成非標(biāo)準(zhǔn)化格式問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 在Python中使用mongoengine操作MongoDB教程

    在Python中使用mongoengine操作MongoDB教程

    這篇文章主要介紹了在Python中使用mongoengine操作MongoDB教程,包括在Django下的一些使用技巧,需要的朋友可以參考下
    2015-04-04
  • Python實現(xiàn)京東秒殺功能代碼

    Python實現(xiàn)京東秒殺功能代碼

    這篇文章主要介紹了Python實現(xiàn)京東秒殺功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python生成隨機數(shù)、隨機字符、隨機字符串的方法示例

    python生成隨機數(shù)、隨機字符、隨機字符串的方法示例

    這篇文章主要介紹了python生成隨機數(shù)、隨機字符、隨機字符串的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python中numpy矩陣的零填充的示例代碼

    python中numpy矩陣的零填充的示例代碼

    本文主要介紹了python中numpy矩陣的零填充的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作

    Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作

    今天小編就為大家分享一篇Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python 對象中的數(shù)據(jù)類型

    Python 對象中的數(shù)據(jù)類型

    對于python,一切事物都是對象,程序中存儲的所有數(shù)據(jù)都是對象,對象基于類創(chuàng)建。這篇文章主要介紹了Python 對象之?dāng)?shù)據(jù)類型 ,需要的朋友可以參考下
    2017-05-05

最新評論