「PAT乙级真题解析」Basic Level 1001 (问题分析+完整步骤+伪代码描述+提交通过代码)

乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。

PAT Basic Level Practice 1001 害死人不偿命的(3n+1)猜想

问题分析 & 解题思路

题目中给出了关于卡拉兹猜想的计算步骤,并要求给出按照给定的步骤执行到满足终止条件(此处为n等于1)所需要的次数。
我们知道,程序是只能执行一些重复的工作,所以程序的逻辑归根结底是条件、循环和递归的组合,最终达到按照指定步骤完成任务的目的。而此类题目直接给出了具体的步骤,与程序的本质不谋而合。程序是用来重复执行人为设定行为的,也可以说是对人行为的模拟。而解答此类题目就是直接将题设给出的步骤用编程语言语法翻译成代码逻辑,所以这种解法可以说是"模拟法"。
明白使用模拟法解答题目之后,我们需要分析题设描述的步骤如何翻译成代码逻辑(准确地说,是如何用条件、循环和递归组合出题设描述的逻辑):

  1. 我们需要执行一组操作,直到满足终止条件。这种动作的重复执行,使用循环和递归可以达到。递归比较复杂,而且实际工作开发中需要慎用,所以如无必要,我们不提及递归。于是,我们知道这里需要使用循环。
  2. 进一步,大多编程语言中,循环分为for循环和while循环。for循环用来将指定逻辑执行指定次数。while循环用来将指定逻辑执行到满足指定条件。因为题设就是要求输出所需次数&#
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明仔的阳光午后

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值