Dat*_*Cra 0 python if-statement
这个简单的问题我一直有问题。能够用for循环解决它,但不仅仅是if/elif/else。关于如何解决这个问题的任何建议?
题:
巧克力棒呈矩形,分为 n×m 份。巧克力棒可以通过沿其图案上的选定直线断开来分成两个矩形部分。确定是否可以拆分它,以便其中一个部分恰好有 k 个正方形。该程序读取三个整数:n、m 和 k。它应该打印 YES 或 NO。
我的 if 解决方案,但是当输入为 (4,2,6) 时,答案不正确。
n = int(input())
m = int(input())
k = int(input())
if k/max(n,m) % 1 == 0 and k/max(n,m) <= min(n,m):
print('YES')
else:
print('NO')
Run Code Online (Sandbox Code Playgroud)
所以问题基本上是问:
对于给定的 n、m 和 k,是否存在两个数 a 和 b,使得 a * b = k,其中 a = n 且 b < m 或 a = m 且 b < n。
你可以用这个条件解决这个问题:
n = int(input())
m = int(input())
k = int(input())
if (k % n == 0 and k / n < m) or (k % m == 0 and k / m < n):
print('YES')
else:
print('NO')
Run Code Online (Sandbox Code Playgroud)
您忘记的是它可以从上到下或从左到右切割。
归档时间: |
|
查看次数: |
5002 次 |
最近记录: |