蓝蓝计算机考研算法-day03小球走过距离和自动判定程序

79 阅读1分钟

Day03 2023/03/01

题目1

一个小球从10处落下,每次的弹回之前的高度一半,请问小球在静止之前一共走过多少距离?

思路

递归,定义形参iniHigh,小于0返回iniHigh,否则返回distanceSum(iniHigh/2).

C++实现

image.png

结果

image.png

题目2

“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送——只要读入的字符串满足下列条件,系统就输出"“答案正确”,否则输出“答案错误”。

得到“答案正确”的条件是:

1.字符串中必须仅有P、A、T这三种字符,不可以包含其它字符;

2.任意形如PATx的字符串都可以获得“答案正确”,其中x或者是空字符串,或者是仅由字母A组成的字符串:

3.如果aPbTc是正确的,那么aPbATca也是正确的,其中a、b、c均或者是空字符串,或者是仅由字母A组成的字符串。

现在就请你为PAT写一个自动裁判程序,判定哪些字符串是可以获得“答案正确”的。

思路

分三步:

1、判断是否仅有P,A,T。

2、判断是否满足PAT(nA)

3、判断是否满足(nA)P(nA)T(nA)或(nA)P[(n+1)A]T(2nA)

C++实现

image.png

结果

image.png