「漢諾塔」,是乙個眾所周知的古老遊戲。現在我們把問題稍微改變一下:如果一共有4根柱子,而不是3根,那麼至少需要移動盤子多少次,才能把所有的盤子從第1根柱子移動到第4根柱子上呢?
為了程式設計方便,您只需要輸出這個結果mod 10000的值。
input
該題含有多組測試資料,每組乙個正整數n。(0< n<=50000)
output
乙個正整數,表示把n個盤子從第1根柱子移動到第4根柱子需要的最少移動次數mod 10000的值。
sample input
15sample output
129解題思路:
把前面幾個算出來,得到如下規律:
f[1] : 0 +2^0=1;
f[2] : 1 +2^1=3;
f[3] : 3 +2^1=5;
f[4] : 5 +2^2=9;
f[5] : 9 +2^2=13;
f[6] : 13+2^2=17;
f[7] : 17+2^3=25;
f[8] : 25+2^3=33;
f[9] : 33+2^3=41;
f10] : 41+2^3=49;
f[11]: 49+2^4=65;
即,f[i]-f[i-1]的值是有規律的,1個2^0,2個2^1,3個2^2,4個2^3,5個2^4以此類推。
#include
#include
using
namespace
std;
const
int n=2e5+5;
int n,f[n];
void init() }
int main()
FZU1036 四塔問題
problem 1036 四塔問題 漢諾塔 是乙個眾所周知的古老遊戲。現在我們把問題稍微改變一下 如果一共有4根柱子,而不是3根,那麼至少需要移動盤子多少次,才能把所有的盤子從第1根柱子移動到第4根柱子上呢?為了程式設計方便,您只需要輸出這個結果mod 10000的值。該題含有多組測試資料,每組乙個...
FZU 1036 四塔問題
problem 1036 四塔問題 漢諾塔 是乙個眾所周知的古老遊戲。現在我們把問題稍微改變一下 如果一共有4根柱子,而不是3根,那麼至少需要移動盤子多少次,才能把所有的盤子從第1根柱子移動到第4根柱子上呢?為了程式設計方便,您只需要輸出這個結果mod 10000的值。該題含有多組測試資料,每組乙個...
FZU 1062 洗牌問題(打表找規律)
problem description 設2n張牌分別標記為1,2,n,n 1,2n,初始時這2n張牌按其標號從小到大排列。經一次洗牌後,原來的排列順序變成n 1,1,n 2,2,2n,n。即前n張牌被放到偶數字置2,4,2n,而後n張牌被放到奇數字置1,3,2n 1。可以證明對於任何乙個自然數n,...