C言語完成的猴子分桃問題算法處理方案。本站提示廣大學習愛好者:(C言語完成的猴子分桃問題算法處理方案)文章只能為提供參考,不一定能成為您想要的結果。以下是C言語完成的猴子分桃問題算法處理方案正文
本文實例講述了C言語完成的猴子分桃問題算法。分享給大家供大家參考,詳細如下:
問題:
海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又均勻 分紅五份,又多了一個,它異樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?
順序:
#include<stdio.h>
int divided(int n, int m) //留意該遞歸函數的定義
{
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言語順序設計有所協助。