亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

利用簡潔的C語言代碼解決跳臺階問題與約瑟夫環問題

2020-01-26 14:43:47
字體:
來源:轉載
供稿:網友

跳臺階問題

題目:

一個臺階總共有 n 級,如果一次可以跳 1 級,也可以跳 2 級。

求總共有多少總跳法,并分析算法的時間復雜度。

分析:

也是比較基礎的題目,通過遞歸可以方便的求解

代碼實現如下(GCC編譯通過):

#include "stdio.h"#include "stdlib.h" int function(int n); int main(void){  int tmp;     tmp = function(5);  printf("%3d/n",tmp);   return 0;} int function(int n){  if(n == 1)    return 1;  else if(n == 2)    return 2;  else      return function(n-1) + function(n-2);}


約瑟夫環問題
題目:

n個數字(0,1,…,n-1)形成一個圓圈,從數字0開始,每次從這個圓圈中刪除第m個數字(第一個為當前數字本身,第二個為當前數字的下一個數字)。當一個數字刪除后,從被刪除數字的下一個繼續刪除第m個數字。求處在這個圓圈中剩下的最后一個數字。

(其實說了這么多就是約瑟夫環問題)

分析:

以前學習鏈表的時候也見過約瑟夫環問題,當時是拿循環鏈表模擬整個過程來解決的,今天在網上看到一種分析。記錄下來:

    題目要求最后剩下的一個數(用last表示),也就是這個數是第幾個,在(0,1,…,n-1)的位置是多少。明確了題目中的信息,所以我們要對這個數進行歸納。假設知道這個數在剩下的k個數中的位置,怎么來求得它在剩余K+1個數中的位置,這樣一步一步推導出它在有n個數中的位置,即為所求。為什么能這樣歸納,因為這個最后剩下的數在所有刪除過程中有幸存活下來,只不過每次刪除了一個數,它的位置就變了,知道最后,它的位置為0(只剩一個數了)。

現在來分析刪除第一個數后,last這個數的位置已之前有什么樣的關系。在這n個數字中,第一個被刪除的數字是(m-1)%n,為簡單起見記為k。那么刪除k之后的剩下n-1的數字為0,1,…,k-1,k+1,…,n-1,并且下一個開始計數的數字是k+1。相當于在剩下的序列中,k+1排到最前面,從而形成序列k+1,…,n-1,0,…k-1。

k+1    ->    0
k+2    ->    1

n-1    ->    n-k-2
0       ->    n-k-1

k-1   ->   n-2

現在我們知道了有n-1個數時last的位置,記為f(n-1,m),那么如何來求得f(n,m)關于f(n-1,m)之間的關系?用X,Y來表示,如下:

Y              X

k+1    ->    0
k+2    ->    1

n-1    ->    n-k-2
0       ->     n-k-1

k-1    ->    n-2

y=( x+k+1) %n

k = (m-1)%n

所以y=(x+m)%n,最終關系如下:

                0                              n=1
f(n,m)={
                [f(n-1,m)+m]%n     n>1

根據關系可以很方便的得到代碼

代碼實現如下:

int LastRemaining(int n, int m){  if(n < 1 || m < 1)    return -1;   int last = 0;  for (int i = 2; i <= n; i ++)     last = (last + m) % i;   return last;}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美丰满老妇厨房牲生活| 欧美日韩精品在线| 欧美激情一区二区三区高清视频| 日韩欧美国产高清91| 国产欧美婷婷中文| 国产精品91视频| 日韩视频在线免费观看| 国产精品久久久久aaaa九色| 久久天天躁狠狠躁夜夜躁| 国产一区二区三区18| 一个人www欧美| 欧美日韩国产麻豆| 成人性生交大片免费看视频直播| 欧美亚洲一级片| 成人黄色片网站| 国产精品免费一区二区三区都可以| 亚洲第一区在线观看| 亚洲欧美另类国产| 亚洲色图av在线| 亚洲精品日韩在线| 色哟哟亚洲精品一区二区| 久久久久久久爱| 热门国产精品亚洲第一区在线| 7777精品视频| 91亚洲一区精品| 欧美日韩不卡合集视频| 97久久精品人人澡人人爽缅北| 久久影视电视剧免费网站清宫辞电视| www亚洲精品| 91亚洲人电影| 亚洲女同精品视频| 久久久久久久久久国产精品| 日韩中文字幕免费| 国产精品欧美日韩一区二区| 亚洲精品黄网在线观看| 亚洲精品久久久久久久久久久久| xxav国产精品美女主播| 欧美午夜精品久久久久久浪潮| 国产精品视频导航| 欧美国产日韩xxxxx| 亚洲免费中文字幕| 精品性高朝久久久久久久| 久久在线精品视频| 国产精品久久久久久久9999| 亚洲一区二区三区四区视频| 色妞在线综合亚洲欧美| 欧美丝袜一区二区| 亚洲系列中文字幕| 日韩美女视频在线观看| 欧美激情在线观看视频| 久久99国产精品自在自在app| 在线播放日韩精品| 亚洲japanese制服美女| 国产精品久久久久久久久借妻| 亚洲一二三在线| 欧美日韩福利电影| 一区二区在线视频播放| 黑人极品videos精品欧美裸| 国产丝袜视频一区| 亚洲色图日韩av| 久久理论片午夜琪琪电影网| www.国产精品一二区| 国产精品日韩在线一区| 亚洲免费电影在线观看| 亚洲精品黄网在线观看| 国产精品美乳一区二区免费| 亚洲视频自拍偷拍| 亚洲国产成人av在线| 国产精品三级在线| 国产精品高潮呻吟久久av黑人| 国产精品啪视频| 一区二区三区无码高清视频| 欧美日韩国产一中文字不卡| 国产一区二区激情| 91在线视频九色| 国产精品精品国产| 91久久精品国产91久久| 欧美成年人视频网站| 夜夜嗨av色综合久久久综合网| 久久国产精品99国产精| 日本精品一区二区三区在线| 一区二区三区日韩在线| 中文在线资源观看视频网站免费不卡| 亚洲国产成人91精品| 国产成人精品优优av| 国产精品va在线| 久久色在线播放| 91色视频在线观看| 精品动漫一区二区| 亚洲一区二区三区视频| 精品美女久久久久久免费| 日韩福利伦理影院免费| 亚洲影视九九影院在线观看| 亚洲男人的天堂在线| 国产一区二区三区视频| 午夜精品久久久久久99热软件| 成人深夜直播免费观看| 一区二区在线视频播放| 日韩美女av在线| 亚洲护士老师的毛茸茸最新章节| 成人精品在线视频| 91久久在线视频| 亚洲欧洲自拍偷拍| 亚洲91精品在线| 中文字幕在线看视频国产欧美| 欧美另类高清videos| 亚洲一区av在线播放| 欧美日韩国产中文字幕| 欧美性猛交xxxx富婆弯腰| 亚洲国产欧美在线成人app| 亚洲成人激情在线观看| 国产伊人精品在线| 亚洲精品资源美女情侣酒店| 亚洲精品97久久| 日韩欧美精品网址| 国产精品丝袜白浆摸在线| 日本精品视频网站| 在线观看不卡av| 欧美在线视频免费播放| 欧美午夜xxx| 97精品伊人久久久大香线蕉| 97福利一区二区| 17婷婷久久www| 成人亚洲综合色就1024| 欧美劲爆第一页| 欧美一级在线播放| www国产精品视频| 国产精品三级在线| 日韩h在线观看| 欧美激情综合色| 亚洲va欧美va国产综合久久| 97国产真实伦对白精彩视频8| 亚洲国产成人精品电影| 亚洲国产精品国自产拍av秋霞| 国产精品自产拍高潮在线观看| 亚洲欧美日韩区| 国产成人黄色av| 2025国产精品视频| 亚洲视频在线观看网站| 国产日韩欧美自拍| 日韩高清不卡av| 国产成人在线精品| 91a在线视频| 久久免费高清视频| 7777精品视频| 久久中文久久字幕| 日本三级久久久| 一本大道亚洲视频| 欧美色视频日本版| 欧美在线视频播放| 欧美午夜视频在线观看| 欧美激情视频在线| 亚洲精品视频中文字幕| 国产精品视频免费在线| 成人免费激情视频| 欧美另类极品videosbest最新版本| 久久精品中文字幕| 日韩av影院在线观看| 亚洲精品免费av| 在线观看日韩视频| 久久久久久亚洲| 国内精品久久久久久影视8| 77777少妇光屁股久久一区| 欧美猛交免费看|