/*
*
* 安全过河问题:
* 三个商人各带一名随从准备过河,可是只有一只船,
* 船上只能容纳两个人,并且在河的任何一岸,如果随从数目大于商人数,
* 随从就会杀掉商人!问商人如何安全过河!
*
*/
#include <stdio.h>
int accrossriver(int i)
{
if ( 2 == i )
{
printf("one seller and one servant accross river/n");
return 0;
}
else
{
printf("one seller and one servant accross river/n");
printf("one servant come back/n");
printf("two servants accross river/n");
printf("one servant come back/n");
i -= 2;
accrossriver(i);
}
return 0;
}
int accrossriver_2(int i)
{
while ( i > 2)
{
printf("one seller and one servant accross river/n");
printf("one servant come back/n");
printf("two servants accross river/n");
printf("one servant come back/n");
i -= 2;
}
if ( 2 >= i )
{
printf("one seller and one servant accross river/n");
return 0;
}
return 0;
}
int main(void)
{
int x = 6;
// accrossriver(x);
accrossriver_2(x);
return 0;
}
安全过河问题
最新推荐文章于 2021-07-25 22:43:42 发布