自編題 找數列

2021-07-09 22:59:42 字數 805 閱讀 9751

找數列

已知n=4k(k<=9),求滿足給定條件的數列個數:

(1).滿足條件的數列為1,2,…..n的乙個排列.

(2).對於每個aj,1≤j≤n,都有ai+j=n+1,(i=aj).

定義乙個f(n)使f(n)=an,那麼,題中就是說f(f(i))=n+1-i,也就是f(2)(i).我們設f(i)=j,則f(j)= f(2) (i)=n+1-i,f(n+1-i)= f(2) (j)=n+1-j,f(n+1-j)=f(2) (n+1-i)=i,可以看出這是乙個迴圈了,而且,我們易知f(i)!=i,f(i)!=n+1-i,因為若存在f(i)=i,則f(i)= f(2) (i)=n+1-i=i,則2i=n+1,n=4k,顯然不可能。

若f(i)=n+1-i,則f(n+1-i)= f(2) (i)=n+1-i,與f(i)!=i矛盾。所以,f(i)!=i,f(i)!=n+1-i;

那麼對於任意的i,f(i)有除了i和n+1-i這兩種以外的n-2中選法。

對於任意的j!=i,f(j)有除了i,f(i),f f(2) (i),f(3)(i),n+1-j,j以外的n-6中選法(因為這是1到n的乙個排列)。

所以共有(n-2)(n-6)(n-10)...2種選法。(因為(n-2)%4=2);

#include#include#include#includeusing namespace std;

int main()

{ long long s=1;

int n,i;

cin>>n;

for(i=n-2;i>=0;i-=4)s*=i;

cout<

來自數學競賽.

數列找不同

題目描述 現有數列a 1,a 2,cdots,a na 1 a 2 a n q 個詢問 l i,r i l i r i a a cdots,a a li a li 1 a ri 是否互不相同 輸入格式 第1 行,2 個整數n,qn,q 第2 行,n 個整數a a cdots,a a li a li ...

數列找不同

現有數列a 1,a 2,cdots,a na1 a2 an q 個詢問 l i,r i li ri a a cdots,a ali ali 1 ari 是否互不相同 第1 行,2 個整數n,qn,q 第2 行,n 個整數a a cdots,a ali ali 1 ari q 行,每行2 個整數l i...

尋找手機(本人自編題)

題目背景 由於小徐腐敗過多,爸媽把他的手機藏起來了。檔名 b 題目描述 小徐不死心,他一定要找到手機。他爸媽精通魔法,建立了乙個法陣。小徐知道手機在的點n和聯通點的路徑和每條路徑的長度,他想讓你編乙個程式,求出他走完所有點的最小長度乘積。由於答案太大,只需輸出答案 mod 9987 輸入輸出格式 輸...