因子,在計算計算在Python
math.factorial(100)
我得到:
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000L
爲什麼會出現一個L在號碼的結束?
因子,在計算計算在Python
math.factorial(100)
我得到:
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000L
爲什麼會出現一個L在號碼的結束?
L表示它是一個long
而不是一個int
。你看它的原因是,你正在看的long
的repr
可以使用
print math.factorial(100)
或
str(math.factorial(100))
如果你只是想數
的L
意味着它是一個長整數
這是Python中的BigInt,對嗎? – 2010-08-05 04:08:15
nopey。他們是多頭頭寸,不是多頭頭寸,而是多頭頭寸。 http://www.python.org/dev/peps/pep-0237/ – msw 2010-08-05 04:29:28
我相信你正在使用一個BigInt,它在Python中被稱爲long
- 它擴展並根據需要佔用可變數量的RAM。名稱long
可能會令人困惑,因爲這意味着今天幾種流行語言中的特定字節數。以下內容可以幫助您瞭解存儲對象所需的字節數。
Python 2.6.2 (r262:71600, Aug 14 2009, 22:02:40)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import sys
>>> a = 1
>>> sys.getsizeof(a)
12
>>> import math
>>> sys.getsizeof(math.factorial(100))
84
>>> sys.getsizeof(math.factorial(200))
182
>>>
儘管內容豐富,但這與問題無關,而且我也看到人們爲了減少而得到低估(如果我可以發表意見,請小心)。您可能想要刪除它。 – msw 2010-08-05 04:32:22
@msw,讓我們看看會發生什麼。這不像我關心我的代表那麼多 - 它只是一個數字。如果它下降了,我會盡快地提出一個流行的答案,並且會超過它。 – 2010-08-05 14:35:51
,你可以用階乘計算器代碼...
def factorial (number):
product=1;
for i in range(number):
product=product*(i+1)
return product
我沒有Python的,所以我沒有測試出來的代碼。我保證這個功能會起作用。
哇,我印象深刻,Python可以做到這一點!可能需要跳槽併成爲Python人員。 – thomasrutter 2010-08-05 04:28:18
Python達到十一萬分之一。 – msw 2010-08-05 04:44:57
我聽說它也可以做像虛數三十二 – 2010-08-05 06:37:00