原创 51Nod-1057-N的階乘

51Nod-1057 N的階乘 1057 N的階乘 輸入N求N的階乘的準確值。 Input 輸入N(1 <= N <= 10000) Output 輸出N的階乘 Input示例 5 Outp

原创 幾種排序算法的講解(二)

四、希爾排序 希爾排序其實是直接插入排序算法的一種變形,實質是分組插入排序。又稱縮小增量排序。 該方法首先要理解分組操作,其實是以間隔分組,即每間隔幾個數後就分做一組,然後進行插入排序。接着把間隔縮短一半,以此下去,直到間隔沒有

原创 51Nod-1000-A+B

解題代碼如下: while True: try: #把輸入的數用map轉化爲一個存整數類型的列表 caption = list(map(int, input().split()))

原创 51Nod-1006-最長公共子序列Lcs

1006 最長公共子序列Lcs 給出兩個字符串A B,求A與B的最長公共子序列(子序列不要求是連續的)。 比如兩個串爲: abcicba abdkscab ab是兩個串的子序列,abc也是,ab

原创 51Nod-1027-大數乘法

51Nod 1027 大數乘法 1027 大數乘法 給出2個大整數A,B,計算A*B的結果。 Input 第1行:大數A 第2行:大數B (A,B的長度 <= 1000,A,B >= 0) O

原创 51Nod-1018-排序

1018 排序 給出N個整數,對着N個整數進行排序 Input 第1行:整數的數量N(1 <= N <= 50000) 第2 - N + 1行:待排序的整數(-10^9 <= A[i] <= 1

原创 51Nod-1011-最大公約數GCD

1011 最大公約數GCD 輸入2個正整數A,B,求A與B的最大公約數。 Input 2個數A,B,中間用空格隔開。(1<= A,B <= 10^9) Output 輸出A與B的最大公約數。 Inpu

原创 菜鳥的第五篇日誌

最近長期熬夜,最早也是一點睡覺,平常都是兩三點睡覺。這並不是在努力學習,而是拼命看番看電視劇。每天學習到近十二點後,便開始點開網頁,然後就控住不住自己了。這導致最近精神一直低糜,刷題學習都不在狀態。 這一個星期我終於開始慢慢啃到

原创 Python3的ACM輸入輸出格式

接觸python不到兩個月,但發現自己已經深深迷戀上了這門語言。因爲正在學acm緣故,想嘗試一下用python寫出那些acm題,但是發現,在網上找題解的時候,找的一大片是用C與C++寫的。沒辦法,誰讓python運行沒有C他們快,

原创 51Nod-1046-A^B Mod C

51Nod 1046 A^B Mod C 1046 A^B Mod C 給出3個正整數A B C,求A^B Mod C。 例如,3 5 8,3^5 Mod 8 = 3。 Input 3個正整數A

原创 51Nod-1012-最小公倍數LCM

1012 最小公倍數LCM 輸入2個正整數A,B,求A與B的最小公倍數。 Input 2個數A,B,中間用空格隔開。(1<= A,B <= 10^9) Output 輸出A與B的最小公倍數。

原创 幾種排序算法的講解(一)

看完一本基礎的算法書後,很多知識仍然混亂,打算用博客的形式來慢慢整理自己所學所感的知識。寫得可能不好,但是我會盡力地把這些知識用自己的話慢慢講解,把他儘可能易於接受。教纔是最好的學。 首先說一下經常能碰到的一些排序算法,有冒泡排

原创 51Nod-1008-N的階乘 mod P

1008 N的階乘 mod P 輸入N和P(P爲質數),求N! Mod P = ? (Mod 就是求模 %) 例如:n = 10, P = 11,10! = 3628800 3628800 %

原创 51Nod-1019-逆序數

1019 逆序數 在一個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱爲一個逆序。一個排列中逆序的總數就稱爲這個排列的逆序數。 如2 4 3 1中,2 1,4

原创 51Nod-1058-N的階乘的長度

51Nod-1058-N的階乘的長度 1058 N的階乘的長度 輸入N求N的階乘的10進製表示的長度。例如6! = 720,長度爲3。 Input 輸入N(1 <= N <= 10^6) Out