用if / elif / else划分巧克力棒

时间:2017-06-15 16:12:40

标签: python if-statement

我一直有这个简单问题的问题。能够通过 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')

1 个答案:

答案 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')

你要忘记的是它可以从上到下从左到右切割。