x星系的某次考古活動發現了史前智慧型痕跡。
這是一些用來計數的符號,經過分析它的計數規律如下:
(為了表示方便,我們把這些奇怪的符號用a~q代替)
abcdefghijklmnopq 表示0在一處石頭上刻的符號是:abcdefghijklmnoqp 表示1
abcdefghijklmnpoq 表示2
abcdefghijklmnpqo 表示3
abcdefghijklmnqop 表示4
abcdefghijklmnqpo 表示5
abcdefghijklmonpq 表示6
abcdefghijklmonqp 表示7
…..
bckfqlajhemgiodnp請你計算出它表示的數字是多少?
請提交該整數,不要填寫任何多餘的內容,比如說明或注釋。
此題先前我不是用康托展開式寫的,雖然答案是對的,但是寫的很繁瑣,之後看見網友說這題可以用康托展開式寫,於是在網上搜了一下,果然這題是可以用康托展開式寫的。
康托展開式其實就乙個公式:
x=an*(n-1)!+an-1*(n-2)!+…+ai*(i-1)!+…+a2*1!+a1*0!這個式子是由1到n這n個數組成的全排列,共n!個,按每個全排列組成的數從小到大進行排列,並對每個序列進行編號(從0開始),並記為x。
比如說1到4組成的全排列中,長度為4,1234對應編號0,1243對應編號1
那a1,a2,a3,a4是什麼意思呢?==>>
對1到4的全排列中,我們來考察3214,則
a4==2
a3==1
a2==0
a1=0(最後只剩下一項)
則x=2*3!+1*2!+0*1!+0*0!=14,即3214對應的編號為14。
因此,此題用康托展開式就可以出來了,將abcd…寫成1,2,3,4…就行了。
#include
long
long fun(long
long n)
int main();
long
long
sum = 0;
for(int i = 0;i<16;i++)
printf("%lld",sum);
return
0;}
藍橋杯模擬題 排列序數
x星系的某次考古活動發現了史前智慧型痕跡。這是一些用來計數的符號,經過分析它的計數規律如下 為了表示方便,我們把這些奇怪的符號用a q代替 abcdefghijklmnopq 表示0 abcdefghijklmnoqp 表示1 abcdefghijklmnpoq 表示2 abcdefghijklmn...
藍橋杯題目練習 排列序數
題目描述 如果用a b c d這4個字母組成乙個串,有4 24種,如果把它們排個序,每個串都對應乙個序號 abcd 0 abdc 1 acbd 2 acdb 3 adbc 4 adcb 5 bacd 6 badc 7 bcad 8 bcda 9 bdac 10 bdca 11 cabd 12 cad...
藍橋杯 2014 4 排列序數
如果用a b c d這4個字母組成乙個串,有4 24種,如果把它們排個序,每個串都對應乙個序號 abcd 0 abdc 1 acbd 2 acdb 3 adbc 4 adcb 5 bacd 6 badc 7 bcad 8 bcda 9 bdac 10 bdca 11 cabd 12 cadb 13 ...