首页 > 编程语言 >枚举: C++和Python实现鸡兔同笼问题

枚举: C++和Python实现鸡兔同笼问题

时间:2024-09-06 19:23:18浏览次数:12  
标签:head 鸡兔同笼 Python C++ feet int using

作者制作不易,关注、点赞、收藏一下吧!

目录

1.Python实现

2.C++实现


1.Python实现

首先,我们需要输入头和脚的数量:

head = int(input("请输入头的数量: "))
feet = int(input("请输入脚的数量: "))

input() 实现输入,int() 实现把字符串型( str )换为整型( int )。

然后,进行循环枚举:

for i in range(0, head):
    for j in range(0, feet):
        if i + j == head and 2 * i + 4 * j == feet:
            print("有", i, "只兔,有", j, "只鸡。")

运行结果:

验算后没问题,说明无逻辑错误。

或者,循环还有另一种方法:

for i in range(0, head):
    j = head - i
    if 2 * i + 4 * j == feet:
        print("有", i, "只兔,有", j, "只鸡。")

运行结果:

也没有问题,而且这样运行得更快。

2.C++实现

和Python版本一样,也要先输入头和脚的数量:

#include <iostream>
using namespace std;

int main()
{
    int head, feet;
    cin >> head >> feet;
}

然后就是循环枚举:

#include <iostream>
using namespace std;

int main()
{
    int head, feet;
    cin >> head >> feet;
    for (int i = 0; i <= head; i++)
    {
        for (int j = 0; j <= feet; j++)
        {
            if (i + j == head && 2 * i + 4 * j == feet)
            {
                cout << "有" << i << "只兔,有" << j << "只鸡。";
            }
        }
    }
}

和Python一样,C++也有第两个方法:

#include <iostream>
using namespace std;

int main()
{
    int head, feet;
    cin >> head >> feet;
    for (int i = 0; i <= head; i++)
    {
        j = head - i;
        if (2 * i + 4 * j == feet)
        {
            cout << "有" << i << "只兔,有" << j << "只鸡。";
        }
    }
}

标签:head,鸡兔同笼,Python,C++,feet,int,using
From: https://blog.csdn.net/a_pjx_z/article/details/141966951

相关文章

  • 网络热词分析一(用python爬取数据)
    importcsvimportrequestsfrombs4importBeautifulSoupdeffetch_page_data(page_number):base_url='https://regengbaike.com/'load_more_url_template=base_url+'?page={}'url=load_more_url_template.format(page_numbe......
  • Ubuntu系统Docker中使用Anaconda环境运行Python项目方法
    宝藏网站:菜鸟教程-学的不仅是技术,更是梦想!安装Anaconda的镜像我是直接拉取的Anaconda的镜像,我不会dockerfile自己构建镜像。以下终端命令查找Anaconda的官方的一些镜像,拉取自己是想要的镜像。dockersearchanaconda#拉取镜像命令dockerpull(镜像名字)#查看Docker......
  • 2024.9.6 Python,华为笔试题总结,字符串格式化,字符串操作,广度优先搜索解决公司组织绩效
    1.字符串格式化name="Alice"age=30formatted_string="Name:{},Age:{}".format(name,age)print(formatted_string)或者name="Alice"age=30formatted_string=f"Name:{name},Age:{age}"print(formatted_string)2......
  • c++的面向过程与面向对象
    面向过程与面向对象面向过程:在编程时重点考虑如何解决问题,以及解决问题的具体步骤。面向对象:在编程时重点考虑的是"谁"能解决问题(类、结构),以及"它"解决问题时所需要属性(成员变量)和功能(成员函数)。抽象:把“解决问题者”当作思考或观察对象,把解决问题所需的具备的属性和功能......
  • c++的类和对象
    类和对象什么是类把抽象结果(利用面向对象的思维模式,思考、观察出的结果),使用用C++的语法封装出一种类似结构的自定义数据类型(复合数据类型)。如何设计类struct结构名{  成员函数;//结构的成员默认访问权限是public  成员变量;};​class类名{  成员......
  • python+flask计算机毕业设计电影推荐网站(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,网络娱乐已成为人们日常生活中不可或缺的一部分,其中在线观影因其便捷性、丰富性而备受欢迎。然而,面对海量的电影......
  • python+flask计算机毕业设计购药管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着医疗行业的快速发展与人们对健康需求的日益增长,药品市场呈现出种类繁多、交易量大的特点。传统的手工购药管理方式已难以满足现代药店......
  • python+flask计算机毕业设计基于的第二课堂选课系统的设计与实现(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着教育信息化的不断深入,高校教育管理模式正经历着深刻的变革。传统的第一课堂教学已难以满足学生多元化、个性化的学习需求,第二课堂作为......
  • python测试开发基础---threading
    1.核心概念线程(Thread):线程是轻量级的进程,在同一进程内可以并行执行多个任务。线程共享进程的资源,如内存和文件描述符,但每个线程有自己的执行栈和局部变量。全局解释器锁(GIL):Python中的GIL限制了同一进程中多个线程的真正并行执行。它确保同一时间只有一个线程可以执行Pyth......
  • python测试开发基础---multiprocessing.Pool
    1.基础概念多进程编程:Python中的multiprocessing模块允许你使用多个进程并行执行任务,这可以提高程序的性能,尤其是在需要大量计算的情况下。Pool类是一个常用工具,可以帮助你更轻松地管理多个进程。进程池:进程池是一个包含多个工作进程的池子,用来处理多个任务。你可以将任......