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言語順序設計有所協助。