每日打卡

4a5r / 2023-04-27 / 原文

卖金鱼问题

问题描述:小明养了一缸金鱼要分五次卖,第一次卖全部的一半加二分之一条,第二次卖剩下的三分之一又三分之一条,第三次卖剩下的四分之一加四分之一条,第四次卖剩下的五分之一加五分之一条,第五次卖剩下的11条。

问题分析:根据规律可得有x条鱼第n次卖x-(x+1)/(j+1)

代码:#include<stdio.h>

 int main()

 {

        int i,n,x,flag=0;

        for(i=23;flag==0;i+=2)

        {

               for(n=1,x=i;n<=4&&x>=11;n++)

                      if((x+1)%(n+1)==0)

                             x-=(x+1)/(n+1);

                      else

                      {

                             x=0;

                             break;

                      }

                      if(n==5&&x==11)

                      {

                             printf("原来鱼缸里有%d条鱼\n",i);

                             flag=1;

                      }

        }

 }