捕鱼分鱼。
代码:
/*头文件*/
#include <stdio.h>
/*主函数*/
int main(void)
{
/*代表A,B,C,D,E四个人*/
char ABCDE;
/*
sum=1,代表鱼从第一条开始,用以穷举
temp,每次循环保存sum的值,以防止改变sum值
a,为计数器,记录每次的鱼有多少次满足题目要求,如果为5次,那么说明这是一个答案
*/
int sum=1,temp,a;
/*循环,穷举*/
while(sum)
{
/*a为计数器,每次鱼的数目不同,每新的一次循环,a的值赋值为0*/
a=0;
/*用temp保存sum的值,以防止改变sum的值,从而用temp进入另一个循环,求倒底合不合题目要求*/
temp=sum;
/*另一个循环,求鱼合不合题目要求*/
for(ABCDE='A';ABCDE<='E';ABCDE++)
{
/*如果(temp-1)%5==0,说明符合题目要求,然后计数器a自增1,将temp变为余下的鱼*/
if((temp-1)%5==0)
{
/*计数器自增1*/
a++;
/*分鱼,先减1,然后再除以5,因为上面题目符合要求,所以此处可以除尽*/
temp=(temp-1)/5;
/*temp=temp*4,这里是将temp等于分完鱼后拿走了一些剩下的鱼,也就是5份拿走了一份,