关于百文买百鸡问题 一个新手的思路自述

编程入门 行业动态 更新时间:2024-10-23 09:39:41

关于百文买百鸡问题 一个新手的思路<a href=https://www.elefans.com/category/jswz/34/1750245.html style=自述"/>

关于百文买百鸡问题 一个新手的思路自述

大家好,我是个刚刚决定进入IT界的小白,目前刚刚学了3个月的C#和Unity。
期间前辈给了一个百文买百鸡的经典的算法问题让我尝试解答,说实话,刚刚拿到题目的时候,虽然我一眼就知道怎么用数学解答,但是对于刚刚学了循环语句的我来说,虽然知道得用循环解答,但还是无法一下子就用代码表现出来,这时候我是选择先罗列出数学的解法,让后在将起转为代码,这样一个中转的思路,我个人感觉应该听时候初学者遇到没头绪的时候使用。 如果有什么不对的地方,还望前辈大神指正。
题目:用一百文钱,买一百只鸡。其中公鸡五文一只,母鸡三文一只,小鸡一文三只。问:一共能买xxx只公鸡,xxx只母鸡,xxx只小鸡。(不要求一定要每种鸡都要有购买,请将所有的可能罗列出来)
思路:
1、先将数学解题思路写出来:
假设买x只公鸡,y只母鸡,z只小鸡,那么就必须满足以下两个条件:x+y+z=100且5x+3y+z/3=100;
这时候我们就知道需要满足以上两个条件,才能输出结果。我们就将他稍作变化用代码表达出来。
2、
解答1:
namespace ForTest
{
public int num;
static void Main( string[] args )
{
for( i = 0; i < 20; i++ )//公鸡个数
{
for( j = 0; j < 33; j++ )
{
for( k = 0; k < 300; k++ )
{
if( i+j+k ==100 && 5i+3j+k/3 == 100 )
{
num++;
Console.WriteLine( “第{0}种买法:{1}只公鸡, {2}只母鸡, {3}只小鸡”, num, i, j, k );
}
}
}
}
}
}

另外还能改进为只用两层for循环嵌套
namespace ForTest
{
public int num;
static void Main( string[] args )
{
for( i = 0; i < 20; i++ )//公鸡个数
{
for( j = 0; j < 33; j++ )
{
if( ( 100-i-j ) % 3 ==0 && 5i+3j+( 100-i-j )/3 == 100 )
{
num++;
Console.WriteLine( “第{0}种买法:{1}只公鸡, {2}只母鸡, {3}只小鸡”, num, i, j, k );
}
}
}
}
}

我觉代码到时次要,最主要是思路得有。当然光有思路没代码也没用,所以我觉得思路千千万万,前提是你得有基础,知道要怎么用代码表现出来;当然相对于有代码基础的来说,思路相对更重要。
只是个人看法,有不同欢迎指正(但是请不要喷人)。

更多推荐

关于百文买百鸡问题 一个新手的思路自述

本文发布于:2024-02-12 15:05:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1688278.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自述   思路   新手   百文   买百鸡

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!