我一直有这个简单问题的问题。能够通过 for 循环来解决它,但不仅 if / elif / else 。关于如何解决这个问题的任何建议?
问题:
巧克力棒的形状为矩形,分为n×m个部分。 巧克力棒可以通过打破它分成两个矩形部分 沿着其图案的选定直线。确定是否 可以拆分它,以便其中一个部分具有正好k 广场。程序读取三个整数:n,m和k。这应该 打印是或否。
我的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')
答案 0 :(得分:3)
所以问题基本上是问:
对于给定的n,m和k,是否存在两个数字a和b,使得a * b = k,其中a = n且b
你可以用这个条件来解决这个问题:
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')
你要忘记的是它可以从上到下或从左到右切割。