首页 > 解决方案 > 程序不返回正确答案(计算最小周长)

问题描述

该程序的目标是找到一定数量正方形的最小周长(用户输入)。我认为我的程序是正确的,但是当我测试 11(正方形的数量)作为输入时,它返回了 13(最小周长)而不是 14。我的错误可能在哪里?

def minimumperimeter(V):
    while V<0:
       V = int(input("How many squares are there?"))
    l = (math.sqrt(V))
    vk = l*l
    if vk == V:
       return l*4
    else:
       row = V/l
       perimeter = 2 * (l + row)
       if V % l != 0:
           perimeter += 2
           return perimeter
V= int(input("How many squares are there?"))
print(int(minimumperimeter((V))))

提前致谢!

标签: python

解决方案


l = (math.sqrt(V)) vk = l*l if vk == V: 总是正确的,你应该尝试:

l = int(math.sqrt(V)) row = int(V/l) 在此处输入图像描述


推荐阅读