문제 설명 최대 공약수란 2개의 숫자를 소인수분해한 후에 결과가 중복되는 부분을 찾아 곱셈한 수 12 = 2 * 2* 3 / 18 = 2*3*3 중복된 부분은 2*3으로 최대 공약수는 6이다. 하지만 우리는 유클리드 호제법을 통해 최대 공약수를 구해본다. 예시) 192%72=48 나머지는 48 여기서 다시 72 와 48을 나눈다. 72 % 48=24 다음 과정은 48 % 24 =0 나머지가 0이 되므로 연산을 중지하고 이전에 구한 나머지 24가 192, 72 의 최대 공약수가 된다. 반복문을 통한 코드 def f(a,b): if a > b : pass else : a, b = b, a while b > 0: c = b b = a%b a = c return a n, m = map(int, input("두 ..
문제(1) 설명 2와 입력된 자연수 n 사이의 모든 소수를 출력해보자. 코드 def check_prime(n) : i = 2 while i < n : if n%i==0: break i += 1 if i == n : print(f'{n}은 소수') else : print(f'{n}은 합성수') n = int(input("자연수 하나를 입력하시오 :")) i = 2 while i
문제 설명 2부터 N(입력받은 수)까지의 숫자가 소수인지 아닌지를 순서대로 검사하고, 소수라면 소수라는 메시지를 출력하고, 소수가 아니면 해당 숫자의 약수를 구하여 출력하는 프로그램을 만들어보자. (1은 소수가 아니며 2는 소수이다.) 코드 def solve(n): global flag print("{0}은 합성수".format(n)) i = 1 while i
문제 설명 개미는 오른쪽으로 움직이다가 벽을 만나면 아래쪽으로 움직여 가장 빠른 길로 움직였다. (오른쪽에 길이 나타나면 다시 오른쪽으로 움직인다.) 미로 상자의 구조가 0(갈 수 있는 곳), 1(벽 또는 장애물)로 주어지고, 먹이가 2로 주어질 때, 성실한 개미의 이동 경로를 예상해보자. 맨 아래의 가장 오른쪽에 도착한 경우, 더 이상 움직일 수 없는 경우, 먹이를 찾은 경우에는 더이상 이동하지 않고 그 곳에 머무른다고 가정한다. 미로 상자의 테두리는 모두 벽으로 되어 있으며, 개미집은 반드시 (2, 2)에 존재하기 때문에 개미는 (2, 2)에서 출발한다. 코드 d = [] for i in range(10): d.append([]) in_to = input().split() for j in in_to:..
문제 설명 격자판의 세로(h), 가로(w), 막대의 개수(n), 각 막대의 길이(l), 막대를 놓는 방향(d:가로는 0, 세로는 1)과 막대를 놓는 막대의 가장 왼쪽 또는 위쪽의 위치(x, y)가 주어질 때, 격자판을 채운 막대의 모양을 출력하는 프로그램을 만들어보자. 입력 첫 줄에 격자판의 세로(h), 가로(w) 가 공백을 두고 입력되고, 두 번째 줄에 놓을 수 있는 막대의 개수(n) 세 번째 줄부터 각 막대의 길이(l), 방향(d), 좌표(x, y)가 입력된다. 1