C語言實現(xiàn)的猴子分桃問題算法解決方案
更新時間:2016年10月19日 11:41:19 作者:Love滿天星
這篇文章主要介紹了C語言實現(xiàn)的猴子分桃問題算法,較為詳細的分析了猴子分桃問題算法的原理與通過遞歸算法解決問題的相關實現(xiàn)技巧,需要的朋友可以參考下
本文實例講述了C語言實現(xiàn)的猴子分桃問題算法。分享給大家供大家參考,具體如下:
問題:
海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均 分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?
程序:
#include<stdio.h>
int divided(int n, int m) //注意該遞歸函數(shù)的定義
{
if(n/5==0 || n%5!=1)return 0;
if(m==1) return 1;
return divided(n-n/5-1, m-1);
}
int main(int argc, char *argv[])
{
int n;
int m = 5;
for(n = 1; ; n++)
if(divided(n,m))
{printf("%d\n", n);
break;
}
}
程序運行結果為:3121
希望本文所述對大家C語言程序設計有所幫助。
相關文章
C++空間命名的使用
本文主要介紹了C++空間命名的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
2023-01-01
opencv實現(xiàn)三幀差法解析
這篇文章主要介紹了opencv實現(xiàn)三幀差法的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
2020-03-03
使用C語言解決字符串全排列問題
這篇文章主要介紹了使用C語言解決字符串全排列問題,文中包括了一道ACM相關的競賽題目作為實例,需要的朋友可以參考下
2015-08-08
一文詳解C++ 智能指針的原理、分類及使用
智能指針的本質就是使用一個對象來接管一段開辟的空間,這篇文章就來給大家介紹介紹C++智能指針的原理,分類及使用方法,文中有詳細的代碼示例,需要的朋友可以參考下
2023-05-05
使用C語言判斷當前存儲大小端問題
這篇文章主要介紹了如何使用C語言判斷當前存儲大小端問題,文中通過代碼示例給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
2024-02-02
C++日志庫log4cplus的使用詳解
C++實現(xiàn)的log4cplus日志庫是一種易于使用的C?++日志記錄API,可提供線程安全,靈活且任意粒度的日志管理和配置控制。這篇文章就來和大家講講log4cplus的使用吧
2023-03-03
C++使用泛型導致的膨脹問題
這篇文章主要介紹了C++使用泛型導致的膨脹,智能家居主機的嵌入式平臺上使用C++進行開發(fā)。FLASH存儲空間有限,這是必須要考慮的因素,一定要重視,下面我們一起進入文章看看詳細內容
2021-11-11
C++中字符串與整型及浮點型轉換全攻略
C++算法刷題等過程中經(jīng)常會遇到字符串與數(shù)字類型的轉換,在這其中雖然樸素的算法有不少,但是對于double等類型還是可以說遇到一些麻煩,所以今天就來說說使用C++標準庫中的函數(shù)實現(xiàn)這些功能。感興趣的小伙伴一起參與閱讀吧
2021-09-09