Python 大數運算 (進擊吧!階乘)

2021-09-25 23:33:55 字數 1716 閱讀 3902

進擊吧!階乘

a = 0

while true:

try:

a = input()

sum =1

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

sum = sum * i

print (sum)

except:

break

python實現迴圈輸入到檔案結尾(類似於c語言的 while(scanf("%d",&n)!=eof   )

while true: 

try: 

a = input() 

except: 

break

//一行輸入多個數字

m,n = map(int, input().split())

#字串逆序 不換行無空格輸出

import sys

str = " "

str = input()

length = len(str)

for i in range(0,length):

sys.stdout.write(str[length-1-i])

print ("")

# 一行輸入多個整數 , 存入列表中並輸出

lis =

lis = list(map(int, input().split()))

for i in range(len(lis)):

print (lis[i])

#二維陣列

n = 0

m = 0

n,m=map(int,input().split())

lis = [[0] * m for i in range(n)]

e = int(1)

for i in range(n):

for j in range(m):

lis[i][j] = e

e = e + 1

for i in range(n):

for j in range(m):

print(lis[i][j],end=' ')

print()

for i in range(n):

lis[i]=list(map(int,input().split()))

for i in range(n):

for j in range(m):

print(lis[i][j],end=' ')

print()

# 埃氏篩法

def cc():

n = 1

while true:

n = n + 2

yield n

def dd(n):

return lambda x: x % n != 0

def prime():

yield 2

lis = cc()

while true:

n = next(lis)

yield n

lis=filter(dd(n),lis)

for i in prime():

if (i > 100):

break

print (i,end=" ")

進擊吧!階乘 大數乘法

題目描述 給定乙個整數n 0 n 10000 求取n的階乘 輸入描述 多個測試資料,每個測試資料輸入乙個數n 輸出描述 每組用一行輸出n的階乘 輸入 12 3輸出 1 26思路 剛看到時我以為是打表,但是看到n的最大值後就放棄了這種想法。然後就想到了大數乘法,由於以前只寫過大數加,所以比賽時一時沒有...

進擊吧!階乘(高精度)

在寫這一道題的過程中我發現了乙個有趣的現象,就是下面的兩種寫法本質上是相同的,但為什麼第一種做法正確,而第二種做法錯誤呢?我仔細想想,n是0 n 10000,所以我感覺第二種做法中當最後一次for迴圈結束時所得的 t 可能是非常大的數,有可能會超過int的範圍,所以可能不能直接push back 到...

藍橋杯 階乘運算 大數階乘

題目問題描述 輸入乙個正整數n,輸出n 的值。其中n 123 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類推。將a乘以乙個整數k變為將陣列a的每乙個元素都乘以k,請注意處理相...