2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - B. 矩形切割

Posted Alex_996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - B. 矩形切割相关的知识,希望对你有一定的参考价值。

题目链接:https://www.lanqiao.cn/courses/2786/learning/?id=67815

Ideas

对于一个矩形来说,能切割下来的正方形肯定是以较短的那条边为边长,然后切出来一个正方形,然后长边要减去短边,直到两边相等为止。

Code

if __name__ == '__main__':
    a, b, ans = 2019, 324, 0
    while a != b:
        ans += 1
        if a > b:
            a -= b
            print(f"切一个 b * b 的正方形")
        elif a < b:
            b -= a
            print(f"切一个 a * a 的正方形")
    else:
        print(f"剩一个 a * a 的正方形")
        ans += 1
    print(f"ans = ans")

Answer: 21

以上是关于2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - B. 矩形切割的主要内容,如果未能解决你的问题,请参考以下文章

2019年第十届蓝桥杯 - 省赛 - C/C++大学C组 - F. 旋转

2019年第十届C/C++ A组蓝桥杯省赛第四题:迷宫

2019年第十届C/C++ A组蓝桥杯省赛第四题:迷宫

2019年第十届蓝桥杯 - 省赛 - C/C++大学A组 - G. 日期问题

2019年第十届蓝桥杯 - 省赛 - C/C++大学B组 - C. 数列求值

2019年第十届蓝桥杯 - 省赛 - C/C++大学B组 - I. 后缀表达式