Math_13_gcd합(9613)
Math_13_gcd합(9613)
문제
양의 정수 n개가 주어졌을 때, 가능한 모든 쌍의 GCD의 합을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진다. 입력으로 주어지는 수는 1,000,000을 넘지 않는다.
출력
각 테스트 케이스마다 가능한 모든 쌍의 GCD의 합을 출력한다.
풀이
- for문 돌려 gcd 구하기
코드
import sys
sys.stdin = open("input.txt","rt")
def input():
return sys.stdin.readline().rstrip()
def gcd(a, b):
if b == 0:
return a;
return gcd(b, a % b);
N = int(input())
while(N):
N = N-1
res = 0
arr = list(map(int,input().split()))
print(arr)
for i in range(len(arr)):
for j in range(i+1, len(arr)):
print(i, j)
res += gcd(arr[i], arr[j]);
print(res)
print(res)
배운 것
코멘트
Author And Source
이 문제에 관하여(Math_13_gcd합(9613)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@angel_eugnen/Math13gcd합9613
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
양의 정수 n개가 주어졌을 때, 가능한 모든 쌍의 GCD의 합을 구하는 프로그램을 작성하시오.
첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진다. 입력으로 주어지는 수는 1,000,000을 넘지 않는다.
각 테스트 케이스마다 가능한 모든 쌍의 GCD의 합을 출력한다.
- for문 돌려 gcd 구하기
import sys
sys.stdin = open("input.txt","rt")
def input():
return sys.stdin.readline().rstrip()
def gcd(a, b):
if b == 0:
return a;
return gcd(b, a % b);
N = int(input())
while(N):
N = N-1
res = 0
arr = list(map(int,input().split()))
print(arr)
for i in range(len(arr)):
for j in range(i+1, len(arr)):
print(i, j)
res += gcd(arr[i], arr[j]);
print(res)
print(res)
Author And Source
이 문제에 관하여(Math_13_gcd합(9613)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@angel_eugnen/Math13gcd합9613저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)