一张足够大的长方形纸,每次都对折长边(如果是正方形,则任选一边),例如两条边长分别为10和9的长方形纸对折后边长为5和9,再对折一次后边长为5和4(长度为奇数对折后向下取整)。对于给定的两条边长和对折次数,求最终边长,从大到小输出。 输入格式: 输入在一行中给出3个正整数 a,b,n(均小于10000),分别为两条边的长度和对折次数。 输出格式: 在一行中按从大到小的顺序输出对折n次后两条边长的长度,中间用空格分隔。 输入样例1: 3 2 1 输出样例1: 2 1 输入样例2: 3 2 10 输出样例2: 0 0
时间: 2024-03-17 09:43:59 浏览: 60
长方形和正方形的认识1.ppt
以下是完整的 Python 代码实现:
```python
a, b, n = map(int, input().split())
while n > 0:
if a > b:
b = b * 2
else:
a = a * 2
n -= 1
print(max(a, b), min(a, b))
```
当然,这个代码并不是最优解,因为它需要使用循环来模拟折叠过程,时间复杂度较高,可以考虑其他优化方法,比如使用数学方法直接计算每次折叠后的边长。
阅读全文