华为笔试题1

def fun():
   p = 120#int(input())
   cnt=0
   for i in range(3,int(p/3)):
       tmp = (p*(p-2*i))%(p-i)
       if tmp==0:
           j=(p*(p-2*i)/(p-i))/2
           k=p-i-j
           if k>j:
               cnt+=1
   print(cnt)
           
fun()

华为笔试题目:给定p周长,求所有满足a+b+c=p且为直角三角形的个数

思路:给出第一个边,在3~p/3,然后根据c=p-a-c, a^2+b^2=c^2,化简得到b=(p*(p-2*a))/(p-a)/2; 当b为正整数的时候,满足,

posted @ 2019-08-28 21:10  Joel_Wang  阅读(1311)  评论(0编辑  收藏  举报