728x90
간단한 일차방정식의 꼴을 준 뒤, 초기값의 궤도가 그 이후와 일치하는가? 라는 것을 물어보는 문제가 되겠다.
즉, 어떤 함수 f(x) = ax + b가 주어져있을 때
초기값을 x_0 이라고 하고, i+1번째 항을 x_i로 둔다면
x_i = f(x_{i-1}) = f(f(x_{i-2})) = .... = f .... f(x_0) 꼴인가? 라는 것을 묻는 문제가 되겠습니다.
그리고 이에 해당하는 코드는 아래와 같습니다.
N = int(input())
num = list(map(int,input().split()))
def f(num):
if len(num) == 1:
return "A"
else:
ans = []
for a in range (-200,201):
b = num[1] - (a * num[0])
jud = True
for i in range (1, N):
if a * num[i-1] + b != num[i]:
jud = False
break
if jud == True:
ans.append(a * num[-1] + b)
ans = list(set(ans))
if len(ans) == 1:
return ans[0]
elif len(ans) > 1:
return "A"
elif len(ans) == 0:
return "B"
print(f(num))
'코딩' 카테고리의 다른 글
[BOJ, 백준] 1153 네 개의 소수 python (0) | 2024.06.20 |
---|---|
[BOJ, 백준] 2824 최대공약수 Python (0) | 2024.06.18 |
[BOJ, 백준] 2143 두 배열의 합 python (0) | 2024.06.05 |
[BOJ] 백준 1341 사이좋은 형제 python (1) | 2024.06.03 |
[BOJ] 백준 1709 타일 위의 원 python (0) | 2024.06.02 |