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

题目描述:

公鸡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 <stdio.h>
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;
}

在这里插入图片描述

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");

结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_52142731/article/details/111314635
今日推荐