|
今天一起分析C語(yǔ)言的算法之:捕魚(yú)和分魚(yú)。
算法題目:
捕魚(yú)和分魚(yú):A、B、C、D、E 五個(gè)人在某天夜里合伙去捕魚(yú),到第二天凌晨時(shí)都疲憊不堪,于是各自找地方睡覺(jué)。
日上三桿,A第一個(gè)醒來(lái),他將魚(yú)分為五份,把多余的一條魚(yú)扔掉,拿走自己的一份。B第二個(gè)醒來(lái),也將魚(yú)分為五份,把多余的一條魚(yú)扔掉,拿走自己的一份。C、D、E依次醒來(lái),也按同樣的方法拿走魚(yú)。問(wèn)他們合伙至少捕了多少條魚(yú)?
1.編程思路分析
編程思路:
用C語(yǔ)言中while語(yǔ)句和if-else語(yǔ)句嵌套實(shí)現(xiàn)。
2.程序范例
#include <stdio.h>
main()
{
int all=6;
int aout=0;//用來(lái)放最終結(jié)果
while(1)
{
int i=5;
int y=0;
all=aout;
while(i>0)
{
if(all!=1 && all%5==1)
{
/*丟掉一條,并分成5份*/
all=(all-(all/5)-1);
i--;//做五次
y++;
}
else
{
i=0;
}
}
if(y==5)
{
printf("他們打了%d條魚(yú)",aout);
break;
}
aout++;
}
}
程序運(yùn)行結(jié)果案例:
1.jpg (14.04 KB, 下載次數(shù): 53)
下載附件
2022-8-8 14:19 上傳
|
|