C语言和python实现——公鸡5文钱一只, 母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡

100文钱买公鸡

  • 题目描述:
  • 题目分析
  • 函数实现:
  • 具体实现
    • C语言
    • Python实现

题目描述:

公鸡5文钱一只, 母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱?请利用python程序控制结构部分的知识编程解决该问题。

题目分析

1.100文钱,公鸡5文钱一只, 母鸡3文钱一只,小鸡3只一文钱,如果全买公鸡,最多买20只,全买母鸡最多买33只,全买小鸡,要保证全都有,最多98只,所以,要保证全都有,总数在100只,必须在公鸡母鸡小鸡中进行计算。

函数实现:

void Func()
{
     
	for (int i = 1; i <= 20; i++)
	{
     
		for (int  j = 1; j < 33; j++)
		{
     
			for (int k = 3; k < 300; k+=3)
			{
     
				if (i + j + k == 100 && i * 5 + j * 3 + k / 3 == 100)
				{
     
					printf("公鸡=%1d只,母鸡=%1d只,小鸡=%1d只\n", i, j, k);
				}				
			}
		}
	}
}

利用3层for循环,依次遍历出合适的结果,找到最佳的购买方式。
公鸡从1只,到20只,母鸡从1只到33只,小鸡从3只到98只。要总共100文,总数100只。

具体实现

C语言

#define _CRT_SECURE_NO_WARNINGS 1
//买小鸡
#include 
void Func()
{
     
	for (int i = 1; i <= 20; i++)
	{
     
		for (int  j = 1; j < 33; j++)
		{
     
			for (int k = 3; k < 300; k+=3)
			{
     
				if (i + j + k == 100 && i * 5 + j * 3 + k / 3 == 100)
				{
     
					printf("公鸡=%1d只,母鸡=%1d只,小鸡=%1d只\n", i, j, k);
				}				
			}
		}
	}
}

int main()
{
     
	int g = 0, m = 0, x = 0;
	Func();

	return 0;
}

C语言和python实现——公鸡5文钱一只, 母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡_第1张图片

Python实现

for i in range(1,20):
    #假如全买公鸡最多20个
    for j in range(1,33):
        #假如全买母鸡最多33个
        for k in range(3,99,3):
            #假如全买小鸡最多98个,要保证 全部都有
            if (i + j + k == 100 and i * 5 + j * 3 + k // 3 == 100):
                #判断公鸡母鸡小鸡是否有100只 和 加起来是否为100文钱
                    print("公鸡", i,"只,母鸡", j,"只,小鸡", k,"只\n");

结果:
C语言和python实现——公鸡5文钱一只, 母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡_第2张图片

你可能感兴趣的:(C语言入门学习,python,c语言)