Python随记(一):流程图

本文以百钱百鸡问题为例,探讨计算机解决问题的过程,包括问题分析、算法设计、代码编写、程序调试和问题解决。强调了算法的重要性,并介绍了自然语言描述和流程图作为描述算法的两种方式,最后指出编写代码和调试程序是实现问题解决的关键步骤。
摘要由CSDN通过智能技术生成

计算机解决问题的过程:

一、分析问题

以百钱百鸡问题为例:某妇人用100文钱买100只鸡,鸡翁5文一只,鸡婆3文一只,鸡子一文3只,问一共有几种买法,买法分别是什么?

这是算法中比较经典问题之一,我将其做为本篇文章的开端。

解决这个问题,很多同学第一时间想到使用枚举法来解决这个问题,公鸡、母鸡、小鸡多少只进行多次尝试。但是这种方法太费时间,或许有同学能想到更好的方法,但是我们要知道这是数据量较小的情况,如果是买1千只鸡,1万只鸡的情况下,就不是人力所能解决的事情了。

所以我们需要计算机,同时我们要设计出能够解决问题的方式和方法,这里就是算法最初的概念,很多人所有算法信手拈来,但是算法的本质却不清楚。

既然问题有了,那设计出一个既能够让计算机执行,同时又极具效率的算法就是非常重要的一步了,是我接下来讲的重点,同时也是整个编程的核心,写代码只是在照本宣科。

我们可以设公鸡为a,母鸡为b,小鸡为c,可以得出下列方程:
a + b +c=100;
5a + 3b + c/3 = 100;
再分析下三个变量的取值,简单判断为:a范围是[0-20],b范围是[0-33],c范围是[0-100]。

二、设计算法

两种方式来描述算法

  1. 自然语言描述算法
    这种方式不必过多赘述,只要是国人都能懂,就像我们小学的时候回答数学老师问题一
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值