漢諾塔(一)(快速冪)

2021-08-11 12:31:40 字數 861 閱讀 8094

/* 問題思路:  將三個寶石針分為a,b,c ,如果只有乙個金片,只需移動一次;兩片,需要將第一片移到b,第二片移到c,再將第一片移到c,相當於移動一次c加上移動兩個一片的;
三片,將上面兩片移到b,將第三片移到c,再將上面兩片移到c,相當於移動了兩次兩片的加上一次一片的;同理,四片,相當於移動兩次三片的加上一次一片的。即 f(n)=f(n-1)*2+1  */
//漢諾塔(一)  記憶體超限,時間超限。

//#include//int  f(int m)

////int main()

////    return 0;

//}

想了好久卻錯啦

/*f(n)==f(n)*2-1   可推出f(n)==2^n-1 轉化為快速冪問題,解決時間問題  */

//漢諾塔(一)快速冪(二進位制)

//#include//#define p 1000000

//long long f(int n)

////    return sum;

//}//int main()

////    return 0;

//}

不懂請看二進位制,明天會發出來
這是博主的第一篇部落格哦!

nyoj 88漢諾塔(一)(快速冪)

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 在印度,有這麼乙個古老的傳說 在世界中心貝拿勒斯 在印度北部 的聖廟裡,一塊黃銅板上插著三根寶石針。印度教的主神梵天在創造世界的時候,在其中一根針上從下到上地穿好了由大到小的64片金片,這就是所謂的漢諾塔。不論白天黑夜,總有乙個...

漢諾塔 大數非遞迴(快速冪取模)

如果你對快速冪取模沒有概念的話,強烈建議先去把快速冪以及快速冪取模看完。強烈推薦此篇 鏈結nyoj 漢諾塔1 顯然是一道快速冪求模運算的,因為金片數量已經達到了1000000 好多 所以用簡單的遞迴或者非遞迴演算法是無法實現得,時間空間複雜度肯定是ac不過的。但是為什麼用到快速冪呢 給乙個漢諾塔的通...

python 漢諾塔 Python漢諾塔

import turtle class stack def init self self.items def isempty self return len self.items 0 def push self,item def pop self return self.items.pop def ...