0
0

二重ループ:活用編 三角形の探索

Last updated at Posted at 2024-02-01

今までの例からしてこれでいけると思ったんですけどね。。。
だめでしたね。おそらくループが多すぎるのだと思います。

N = int(input())
Ans = "NO"
for a in range(1,N):
    for b in range(1,N-a + 1):
        for c in range(1,N-a-b + 1):
            if a ** 2 == b ** 2 + c ** 2:
                Ans = "YES"
                
print(Ans)

でもよく考えたら、ですね。
2辺が決まったら、あともう1つって自動で決まるんですよね。
だからforを一つ減らせます。
ただ、aが0にならないようにしないとですが、
結局Falseになるので関係ないか。

N = int(input())
flag = False
for B in range(1,N):
    for C in range(1,N-B):
        A = N - B - C 
        if A ** 2 == B ** 2 + C ** 2:
            flag = True
if flag:
    print('YES')
else:
    print('NO')

ふむ、なかなかおもしろい。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0