import math
test_case = int(input())
for i in range(test_case):
numbers = list(map(int, input().split()))
total = 0
for j in range(1, len(numbers)):
for k in range(j+1, len(numbers)):
sum += math.gcd(numbers[j], numbers[k])
print(total)
① import math
② math.gcd(숫자1, 숫자2, 숫자3,..)
import math
N, S = map(int, input().split())
n = list(map(int, input().split()))
distanse = []
for i in n:
distanse.append(abs(S - i))
ans = distanse[0]
for i in range(1, N):
ans = math.gcd(distanse[i], ans)
print(ans)
ten_number = int(input(), 2) #입력된 값을 2진수 숫자로 인식한다.
print(oct(ten_number)[2:]) #2진수인 ten_number를 10진수로 바꾸고, 앞에서 3번째부터 출력한다.
2진수 : 0b
8진수: 0o
16진쉬 0x
bin(number): 10진수 ---> 2진수 변환
oct(number): 10진수 ---> 8진수 변환
hex(number): 10진수 ---> 16진수 변환
int(value +
,
+인식하고 싶은 진법의 숫자
)
eight_number = int(input(), 8)
print(bin(eight_number)[2:])
import sys
N = int(sys.stdin.readline())
if not N:
sys.stdout.write('0')
exit()
res = ''
while N:
if N % (-2): #N % -2의 값이 존재하는 경우,(=-2로 나눠 떨어지지 않는 경우,)
res = '1' + res
N = N // -2 + 1 # N // -2를 한 후에 +1을 해준다. 그 이유는 -13 / -2 = 6.5 이기 때문에 -13 // -2 = 6 으로 출력된다. 그래서 몫을 구해주기 위해서는 +1을 해줘 나머지가 양수가 되도록 해야 한다.
else: #N % -2의 값이 0인 경우,(=-2로 나눠 떨어지는 경우,)
res = '0' + res
N //= -2
sys.stdout.write(res)
-13 = -2 7 + 1
7 = -2 -3 + 1
-3 = -2 2 + 1
2 = -2 -1 + 0
-1 = -2 1 + 1
1 = -2 0 + 1
따라서 110111 이라는 주어진 예제 -13에 대한 출력이 정상적으로 나오는 것을 확인할 수 있습니다. 코드의 내용도 이와 같습니다.
array = [True for i in range(1000001)] #에라토스테네스의 체
for i in range(2, 1001):
if array[i]:
for j in range(i * i, 1000001, i):
array[j] = False
test_case = int(input())
for _ in range(test_case):
n = int(input())
cnt = 0
for i in range(2, n // 2 + 1): #파티션의 중복을 피하기 위해 주어진 값의 절반크기까지만 반복
if array[i] and array[n - i]: #소수인 두 수의 합이 주어진 값이면,
cnt += 1
print(cnt)