最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python真題案例之小學(xué)算術(shù)?階乘精確值?孿生素數(shù)?6174問題詳解

 更新時間:2022年03月07日 15:28:41   作者:酷爾。  
這篇文章主要介紹了python實操案例練習(xí),本文給大家分享的案例中主要任務(wù)有小學(xué)生算術(shù)、階乘的精確值、孿生素數(shù)、6174問題,需要的小伙伴可以參考一下

前言

今天給大家分享一下刷到的關(guān)于數(shù)值處理的算法題。雖然題目比較簡單但是問題的處理方式值得我們學(xué)習(xí)。小學(xué)生算術(shù)涉及到加法進位、階乘精確值用于計算一個結(jié)果為很長的數(shù)、孿生素數(shù)是計算兩個相鄰的素數(shù)(比較簡單)、6174問題按照題目進行模擬就可以。

小學(xué)生算術(shù)

問題描述

最近很多小學(xué)生迎來了快學(xué)第一考,在進行加法進位的時候可把小學(xué)生難為壞了 因為進位的時候稍不注意就會算錯。請你設(shè)計一個程序,實現(xiàn)計算兩位數(shù)相加的時候需要 進行多少次進位,以供小學(xué)生檢驗自己是否正確的進位。(以0 0 結(jié)尾)

樣例輸入:

123 456

555 555

123 594

0 0

樣例輸出:

0

3

1

問題分析

可以設(shè)置一個標(biāo)志位在進行計算的時候判斷兩個數(shù)是否需要進位, 如果進位了就將進位的標(biāo)志位數(shù)值設(shè)為1,不進就將標(biāo)志位數(shù)值設(shè)為0,因為在加法運算中進位最多進1。9+9=18,將8留下來將1進向更高位參與運算

代碼實現(xiàn)

老規(guī)矩先上運行結(jié)果:

再上代碼:

import sys
flag=0
lis=[]
num=0
while True:
    m,n=sys.stdin.readline().strip().split()
    m,n=int(m),int(n)
    if n==m==0:
        break
    # 只要m,n經(jīng)過變換有一個為0那么循環(huán)就終止
    while m and n:
        if (m%10+n%10+flag)>=10:
            num+=1
            flag=1
        else:
            flag=0
        m//=10
        n//=10
    lis.append(num)
    num=0
for i in lis:
    print(i)

階乘精確值

問題描述

眾所周知,Python數(shù)值型的位數(shù)與電腦內(nèi)存有關(guān)??梢院茌p松實現(xiàn)n的階乘 ,但是對于C、C++而言整型的位數(shù)是有一定長度的。超過一定長度就會溢出,輸入不超過1000的正整數(shù)n,輸出n!=1234…*n的精確結(jié)果。

樣例輸入:

30

樣例輸出:

265252859812191058636308480000000

問題分析

很長很長的計算結(jié)果對于Python語言而言不會有太大影響,因為Pyhton會根據(jù)電腦內(nèi)存的大小決定整型的大小。而對于C\C++這樣的語言而言,數(shù)值型都有一定的長度。超過一定長度發(fā)生溢出之后將會影響最終的結(jié)果。這一個題目我們需要使用數(shù)組進行計算結(jié)果的存儲,然后自己模擬乘法運算。最終得到計算結(jié)果。

代碼實現(xiàn)

老規(guī)矩先上運行結(jié)果:

上代碼: 在這里使用了兩種方式,一種是直接計算,另一種就是使用C語言風(fēng)格進行模擬乘法。 由于Python內(nèi)置模塊較為強大直接計算超級方便還可以計算出很長的數(shù),只需要很少的時間 (如下圖)但是我們今天為自己找事情做,就使用Pyhton語言模擬一下C語言的寫法。

即便計算10000的階乘花費的時間依舊不到秒

import time
def timmer(func):
    def weapper(*s):
        start=time.time()
        func(*s)
        end=time.time()
        print("用時:",end-start)
    return weapper

@timmer
def f1(n):
    # 直接計算
    ans=1
    # 用于標(biāo)記現(xiàn)在是所在的位數(shù)
    if n==0 or n==1:
        print(1)
        exit()
    else:
        for i in range(2,n+1):
            ans=ans*i
                
    print(ans)
@timmer
def f2(n):
    # C語言方法精確計算
    ans=[0]*1000
    ans[0]=1
    for i in range(2,n+1):
        j=0
        c=0
        while j<1000:
            temp=ans[j]*i+c
            ans[j]=temp%10
            c=temp//10
            j+=1

    i=len(ans)-1
    flag=True
    while i>=0:
        if flag and ans[i]==0:
            pass
        else:
            print(ans[i],end="")
            flag=False
        i-=1
    print()

if __name__=="__main__":
    n=int(input())
    # f1(n)
    f2(n)

孿生素數(shù)

問題描述

素數(shù)又稱質(zhì)數(shù),他是只能被1與他本身整除的整數(shù),并且大于1現(xiàn)給出一個數(shù),比他小的孿生素數(shù) 孿生素數(shù)的意思就是連續(xù)挨著的兩個素數(shù),并且他的的差為2(即 n與n-2) 現(xiàn)在給出一個正整數(shù),請計算出比他小但是距離他最近的兩個孿生素數(shù)。

樣例輸入:

1000

樣例輸出:

881 883

問題分析

判斷是不是孿生素數(shù),首先要確定是不是素數(shù)。是的話再判斷與其相差2的數(shù)是不是素數(shù)。 如果兩個都是的話直接進行輸出,否則繼續(xù)判斷。

代碼實現(xiàn)

老規(guī)矩先上運行結(jié)果:

上代碼:

def is_ok(num):
    if num==1:
        return False
    for i in range(2,int(math.sqrt(num))+1):
        if num%i==0:
            return False
    return True


n=int(input())
while n:
    if is_ok(n) and is_ok(n-2):
        print(n-2,n)
        break
    n-=1

6174問題

問題描述

假設(shè)你有各位數(shù)字互不相同的四位數(shù)。將該數(shù)中的數(shù)字從大到小排序后得到a 從小到大排序后得到b,然后使用a-b得到的結(jié)果取代原來的數(shù)。并繼續(xù)相同的操作。 任務(wù):輸入一個數(shù)n輸出操作序列。直到出現(xiàn)循環(huán),比如排序前的6174生成的結(jié)果也是6174

樣例輸入:

1234

樣例輸出:

1234—>3087—>8352—>6174—>6174

問題分析

涉及到對數(shù)值中的數(shù)字進行排序

排序完后使用大的減去小的,然后對比生成的結(jié)果與原來的數(shù)。

代碼實現(xiàn)

老規(guī)矩先上運行結(jié)果:

上代碼:

# 自定義排序函數(shù),如果r=True就是降序
def msort(n,r=True):
    ans=0
    temp=[]
    //將數(shù)值轉(zhuǎn)換為列表
    while n:
        temp.append(n%10)
        n//=10
    #在剛剛進行排序的時候高位與低位進行了顛倒,再顛倒回來
    temp=temp[::-1]
    #排序
    temp=sorted(temp,reverse=r)
    # 將列表組合成數(shù)值并返回出去
    for i in temp:
        ans=ans*10+i
    return ans


ans=[]
n=int(input())
ans.append(n)
while True:
	# 得到最大最小值
    maxn=msort(n)
    minn=msort(n,False)
    temp=maxn-minn
    ans.append(temp)
    if n==temp:
        break
    n=temp
flag=True
for i in ans:
    if flag:
        print(i,end="")
        flag=False
    else:
        print("--->",i,end="",sep="")

這就是今天分享的全部內(nèi)容啦!實現(xiàn)并不難但是思想非常的重要。希望大家能熟練掌握。

???? ? ???? ??????•??•?? ??????????????????

到此這篇關(guān)于Python真題案例之小學(xué)算術(shù) 階乘精確值 孿生素數(shù) 6174問題詳解的文章就介紹到這了,更多相關(guān)Python 階乘精確值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python文件讀取read()?readline()?readlines()函數(shù)使用場景技巧示例

    Python文件讀取read()?readline()?readlines()函數(shù)使用場景技巧示例

    這篇文章主要介紹了Python文件讀取read() readline()及readlines()函數(shù)使用場景技巧示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • python實現(xiàn)從web抓取文檔的方法

    python實現(xiàn)從web抓取文檔的方法

    這篇文章主要介紹了python實現(xiàn)從web抓取文檔的方法,以抓取人人網(wǎng)頁面為例講述了完整的web文檔抓取方法,需要的朋友可以參考下
    2014-09-09
  • python實現(xiàn)二叉查找樹實例代碼

    python實現(xiàn)二叉查找樹實例代碼

    這篇文章主要介紹了python實現(xiàn)二叉查找樹實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Python?pytorch實現(xiàn)繪制一維熱力圖

    Python?pytorch實現(xiàn)繪制一維熱力圖

    熱力圖是非常特殊的一種圖,可以顯示不可點擊區(qū)域發(fā)生的事情,這篇文章主要為大家介紹了如何利用pytorch實現(xiàn)繪制一維熱力圖,感興趣的可以了解一下
    2023-05-05
  • python對網(wǎng)頁文本的格式化實例方法

    python對網(wǎng)頁文本的格式化實例方法

    在本篇文章里小編給大家整理是一篇關(guān)于python對網(wǎng)頁文本的格式化實例方法,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-10-10
  • python如何實現(xiàn)int函數(shù)的方法示例

    python如何實現(xiàn)int函數(shù)的方法示例

    int()函數(shù)常用來把其他類型轉(zhuǎn)換為整數(shù),下面這篇文章主要給大家介紹了關(guān)于python如何實現(xiàn)int函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • Python實現(xiàn)按目錄層級輸出文件名并保存為excel

    Python實現(xiàn)按目錄層級輸出文件名并保存為excel

    當(dāng)我們發(fā)現(xiàn)電腦的內(nèi)存很滿,或平時工作中文件夾管理不清晰,導(dǎo)致里面的文件數(shù)據(jù)很雜亂,查找很不方便,一個一個文件夾去看去找然后刪除又很浪費時間。本文將介紹如何利用Python實現(xiàn)按目錄層級輸出文件名并保存為excel,需要的可以參考一下
    2022-02-02
  • 示例詳解pyqtgraph繪制實時更新數(shù)據(jù)的圖

    示例詳解pyqtgraph繪制實時更新數(shù)據(jù)的圖

    PyQtGraph是一個基于PyQt和NumPy的Python庫,它專為實時數(shù)據(jù)可視化而設(shè)計,本文通過實例代碼給大家介紹pyqtgraph繪制實時更新數(shù)據(jù)的圖,感興趣的朋友一起看看吧
    2024-12-12
  • python中sql解析庫sqlparse基本操作指南

    python中sql解析庫sqlparse基本操作指南

    sqlparse是用于Python的非驗證SQL解析器,它提供了對SQL語句的解析,拆分和格式化的支持,這篇文章主要給大家介紹了關(guān)于python中sql解析庫sqlparse基本操作指南的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • python?tkinter庫的Text記錄點擊路經(jīng)和刪除記錄詳情

    python?tkinter庫的Text記錄點擊路經(jīng)和刪除記錄詳情

    這篇文章主要介紹了python?tkinter庫的Text記錄點擊路經(jīng)和刪除記錄詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-06-06

最新評論

伽师县| 平泉县| 华宁县| 当阳市| 青川县| 西安市| 磐石市| 黄山市| 汤原县| 子长县| 饶平县| 长葛市| 洪洞县| 新竹县| 麻江县| 新安县| 阳泉市| 奉节县| 东海县| 阜康市| 界首市| 宁强县| 河曲县| 达拉特旗| 若羌县| 汽车| 报价| 易门县| 台中县| 玛沁县| 和平县| 博罗县| 南陵县| 清苑县| 鄱阳县| 莲花县| 如东县| 新竹市| 迭部县| 交城县| 鄂伦春自治旗|