| 查看: 1931 | 回復(fù): 19 | |||
holmescn金蟲 (正式寫手)
|
[交流]
Euler 工程 第廿四題:全排列的第100萬項(xiàng) 已有5人參與
|
|
一個(gè)排列是一組對(duì)象的一個(gè)有序排列。比如3123是數(shù)字1、2、3和4的一個(gè)可能的排列。如果把所有的排列按照其數(shù)字or字母的大小順序都列出來,那就成為一個(gè)全排列。比如0、1、2的全排列是: 012 021 102 120 201 210 那么,數(shù)字0、1、2、3、4、5、6、7、8和9的全排列的第100萬項(xiàng)是多少? |
金蟲 (著名寫手)

金蟲 (著名寫手)
|
非蠻力版也有,不過不是自己想出來的,就不好意思直接貼代碼了,基本想法就是數(shù)制的擴(kuò)展: 二進(jìn)制數(shù)制是這個(gè)樣子: a1*2^n+a2*2^(n-1)+...+an*2^1+a*2^0 十進(jìn)制數(shù)制是這樣子: b1*10^n+b2*10^(n-1)+...+bn*10^1+b*10^0 那我們可以考慮階乘進(jìn)制: c1*n!+c2*(n-1)!+...+cn*1!+c*0! 不過階乘有點(diǎn)問題就是1!是1,0!是0,那就失去了最后一個(gè)的意義,所以最后一個(gè)去掉: c1*n!+c2*(n-1)!+...+cn*1!+c 那前面的6個(gè)數(shù)就依次是: 0=0*2!+0*1!+0 => 012 1=0*2!+1*1!+0 => 021 2=1*2!+0*1!+0 => 102 3=1*2!+1*1!+0 => 120 4=2*2!+0*1!+0 => 201 5=2*2!+1*1!+0 => 210 上面的計(jì)算當(dāng)然跟一般的進(jìn)制計(jì)算不同,一般的進(jìn)制計(jì)算是要求前面的數(shù)不能大過模數(shù),二進(jìn)制的前綴只能是0和1,十進(jìn)制的前綴只能是0~9,而階乘進(jìn)制的前綴就只能是0~n,n是指后面的n!,以3=>120為例,前面的運(yùn)算應(yīng)該是這樣子: 2!:012,前綴就是take out的索引,例子的是1 1!:02,例子中的是1,拿走的就是2 0!:0,剩下來的沒得選擇,這也是每個(gè)末尾都是0的原因 組合起來就是120 |

木蟲 (著名寫手)
至尊木蟲 (著名寫手)
驃騎將軍

鐵桿木蟲 (著名寫手)
|
此題改小一點(diǎn)可以做初中或小學(xué)奧數(shù)題了... 10!=3628800, 10!/10=362880 1000000/362880=2.75------(0123456789)第一位是2 1000000-362880*2=274240 362880/9=40320 274240/40320=6.80------(013456789)第二位是7 274240-40320*6=32320 40320/8=5040 32320/5040=6.40------(01345689)第三位是8 32320-5040*6=2080 5040/7=720 2080/720=2.89------(0134569)第四位是3 2080-720*2=640 720/6=120 640/120=5.33------(014569)第五位是9 640-120*5=40 120/5=24 40/24=1.67------(01456)第六位是1 40-24*1=16 24/4=6 16/6=2.67------(0456)第七位是5 16-6*2=4 6/3=2 4/2=2------(046)第八位是4 此處已實(shí)現(xiàn)整除,后三位必為4開頭的最大數(shù),即460. 所以最后結(jié)果為 2783915460... |
至尊木蟲 (著名寫手)
驃騎將軍

金蟲 (正式寫手)
|
暈,發(fā)晚了 樓上怎么沒人帖答案和時(shí)間了? 我的想法是利用階乘直接算。因?yàn)橐粋(gè)全排列,其實(shí)就是每個(gè)元素都要在一個(gè)位置上出現(xiàn)一次。這樣一共有n!個(gè)排列(這個(gè)地球人都知道)。 這樣,如果某一位確定了的話,那么其余的位再用其余的數(shù)全排列就行了。(這話怎么這么繞口) 已經(jīng)知道10!=3628800,9!=362880,這樣1000000 - 2*9! = 274240, 也就是說第一位取0,1都不夠數(shù),取2,而后面的沒的完成全排列就夠100萬了。OK,第一位是2了。 下面列表: 8! = 40320 274240 - 6 * 8! = 32320 第2位:7 7! = 5040 32320 - 6 * 7! = 2080 第3位:8 6! = 720 2080 - 2 * 6! = 640 第4位:3 5! = 120 640 - 5 * 5! = 40 第5位:9 4! = 24 40 - 1 * 4! = 16 第6位:1 3! = 6 16 - 2 * 3! = 4 第7位:5 2! = 2 4 - 2 * 2! = 0 最后剩:0 4 6 這三個(gè)數(shù)了. 而最后一個(gè)余0了。也就是第2個(gè)排列正好就夠第100萬個(gè)了.這樣結(jié)果就是:2783915460 不知道結(jié)果是不是對(duì)。這個(gè)用時(shí)當(dāng)然很少的了。 |
鐵桿木蟲 (著名寫手)
金蟲 (正式寫手)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 考研化學(xué)學(xué)碩調(diào)劑,一志愿985 +5 | 張vvvv 2026-03-15 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 297求調(diào)劑 +3 | 喜歡還是不甘心 2026-03-20 | 3/150 |
|
|
[考研] 求調(diào)劑 +3 | 13341 2026-03-20 | 3/150 |
|
|
[考研] 22 350 本科985求調(diào)劑,求老登收留 +3 | 李軼男003 2026-03-20 | 3/150 |
|
|
[考研] 085601調(diào)劑 358分 +3 | zzzzggh 2026-03-20 | 4/200 |
|
|
[考研] 306求調(diào)劑 +4 | chuanzhu川燭 2026-03-18 | 4/200 |
|
|
[考研] 南昌大學(xué)材料專碩311分求調(diào)劑 +6 | 77chaselx 2026-03-20 | 6/300 |
|
|
[考研] 265求調(diào)劑 +3 | Jack?k?y 2026-03-17 | 3/150 |
|
|
[考研] 初始318分求調(diào)劑(有工作經(jīng)驗(yàn)) +3 | 1911236844 2026-03-17 | 3/150 |
|
|
[考研] 二本跨考鄭大材料306英一數(shù)二 +3 | z1z2z3879 2026-03-17 | 3/150 |
|
|
[考研] 一志愿中國石油大學(xué)(華東) 本科齊魯工業(yè)大學(xué) +3 | 石能偉 2026-03-17 | 3/150 |
|
|
[考研] 22408 344分 求調(diào)劑 一志愿 華電計(jì)算機(jī)技術(shù) +4 | solanXXX 2026-03-20 | 4/200 |
|
|
[考研] 一志愿華中農(nóng)業(yè)071010,總分320求調(diào)劑 +3 | 困困困困坤坤 2026-03-20 | 3/150 |
|
|
[考研] 0856調(diào)劑,是學(xué)校就去 +8 | sllhht 2026-03-19 | 9/450 |
|
|
[考研] 085600材料與化工調(diào)劑 324分 +10 | llllkkkhh 2026-03-18 | 12/600 |
|
|
[考研] 材料工程專碩調(diào)劑 +5 | 204818@lcx 2026-03-17 | 6/300 |
|
|
[考研] 312求調(diào)劑 +8 | 陌宸希 2026-03-16 | 9/450 |
|
|
[考研] 301求調(diào)劑 +4 | A_JiXing 2026-03-16 | 4/200 |
|
|
[考研] 290求調(diào)劑 +3 | p asserby. 2026-03-15 | 4/200 |
|
|
[考研] 中科院材料273求調(diào)劑 +4 | yzydy 2026-03-15 | 4/200 |
|