百钱百鸡

  今天看c语言,看到一道编程,百钱百鸡,但给出了三种解决办法。题目具体如下:

  公鸡五元一只,母鸡三元一只,小鸡一元三只。100元买一百只鸡,能各买公鸡母鸡小鸡多少只?

  前面两种第一种有三重for循环,第二种有两重,基本上是一般人都会用的方法,x,y,z分别是鸡的数量,下面是第二种方法,比第一重少了z变量的循环

  for(x=0;x<=20;x++)

  { 

     for(y=0;y<=33;y++)

    {

      z=100-x-y;

    }

    }

  再列一下第三种吧,只有一重循环,说实话我看的第一眼是有点蒙的,没想到这么简单的程序还能写成这样,主要跟我一般写程序能写出来就行有关,感觉自己功力是真的低,虽然上面的写法挺好的了。

  for(x=0;x<=12;x+=4)

  {

    y=25-(x/4)*7;

    z=100-x-y;

    printf(.....);

  }

  就这样了,x+y+z=100;5x+3y+z/3=100;两个式子化简一下就可以得到x能被四整除且y大于0,x小于等于12;

posted @ 2018-01-21 21:03  阿甘横行  阅读(152)  评论(0编辑  收藏  举报