過分的謎題

2021-09-16 19:35:06 字數 1404 閱讀 6643

原題鏈結

時間限制: 1 sec  記憶體限制: 128 mb

提交: 364  解決: 158

[提交] [狀態] [命題人:外部匯入]

題目描述

2023年是雲南中醫學院的百年校慶,於是學生會的同學們搞了乙個連續猜謎活動:共有10個謎題,現在告訴所有人第乙個謎題,每個謎題的答案就是下乙個謎題的線索....成功破解最後乙個謎題後,答案就是指向獎勵的線索

在所有同學們的努力下,全校同學們獲得了最後乙個謎題,這個謎題有幾十張紙,上面全是密密麻麻的數字以及'.'

第一頁內容如下:

1,2,3,4,5,6

4,1,5,2,6,3

2,4,6,1,3,5

1,2,3,4,5,6

———3

1,2,3,4....32

.............

.............

———10

有細心的同學發現,這是對一組1-2n的序列進行如下移動:每次將前n個數字取出,按順序依次插入到位於n+1,n+2...2n的數字後面,最後的數字表示多少次移動後會變回原來的序列

第二頁內容如下:

1,2,3,4....64

.............

.............

———?

1,2,3,4....140

.............

.............

———?

同學們發現,越往後翻,這個序列的長度就越長,前面十幾二十個數字的序列同學們還可以一步一步模擬做出來,但是到後來幾千甚至上萬的長度,就沒有辦法計算了,甚至中間一步做錯,就步步都錯。

這個謎題真是太過分了!但是獎勵就在眼前,只要計算出所有答案,所有答案就是指引同學們獲得獎勵的線索,那麼現在問題來了,同學們除了發現上面的n=最後那個數字/2之外,沒有辦法給你任何幫助,而作為乙個電腦科學與技術專業的大佬,你自然就成為了同學們心目中拯救他們的英雄,所以你能不能寫乙個程式,當你知道n是多少的時候,可以直接得出答案呢?

輸入多組測試資料.每組資料的第一行包含乙個正整數n(1<= n<=10000).

輸出每組資料輸出一行整數表示最少需要經過幾次移動能變回原序列,若不能,則輸出"-1"

複製樣例資料

3

16

樣例輸出

3

10

思路:找規律,當「1」回到原位置時,各位數字恢復為原來位置

1移動的規律為:1->2->4->8...

#include #define ll long long

using namespace std;

int n,t,m;

int main()

printf("%d\n",m);

}return 0;

}

過分的謎題

2060年是雲南中醫學院的百年校慶,於是學生會的同學們搞了乙個連續猜謎活動 共有10個謎題,現在告訴所有人第乙個謎題,每個謎題的答案就是下乙個謎題的線索 成功破解最後乙個謎題後,答案就是指向獎勵的線索 在所有同學們的努力下,全校同學們獲得了最後乙個謎題,這個謎題有幾十張紙,上面全是密密麻麻的數字以及...

過分的謎題 模擬 思維題

題目描述 2060年是雲南中醫學院的百年校慶,於是學生會的同學們搞了乙個連續猜謎活動 共有10個謎題,現在告訴所有人第乙個謎題,每個謎題的答案就是下乙個謎題的線索 成功破解最後乙個謎題後,答案就是指向獎勵的線索 在所有同學們的努力下,全校同學們獲得了最後乙個謎題,這個謎題有幾十張紙,上面全是密密麻麻...

備戰省賽 過分的謎題

題目描述 2060年是雲南中醫學院的百年校慶,於是學生會的同學們搞了乙個連續猜謎活動 共有10個謎題,現在告訴所有人第乙個謎題,每個謎題的答案就是下乙個謎題的線索.成功破解最後乙個謎題後,答案就是指向獎勵的線索 在所有同學們的努力下,全校同學們獲得了最後乙個謎題,這個謎題有幾十張紙,上面全是密密麻麻...