본문 바로가기

분류 전체보기

(61)
[백준] 1676번 (python 파이썬) https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net n = int(input()) result = 1 if n not in [0, 1]: for i in range(2, n + 1): result *= i for i, v in enumerate(str(result)[::-1]): if v != "0": print(i) break
[백준] 10872번 (python 파이썬) https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net n = int(input()) result = 1 if n in [0, 1]: print(result) else: for i in range(2, n + 1): result *= i else: print(result)
[백준] 6588번 (python 파이썬) https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net import sys while True: N = int(sys.stdin.readline().strip()) if N == 0: break prime_number = [True] * (N+1) prime_number[0] = prime_number[1] = False m = int(len(prime_number) ** 0.5) + 1 for i in range(2, m): ..
[백준] 1929번 (python 파이썬) https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net import sys M, N = list(map(int,sys.stdin.readline().split())) prime_number = [True] * N prime_number[0] = False i = 1 while i < len(prime_number): if prime_number[i]: j = (i+1)*2 -1 while j < len(prime_number): prime_number[j] = False j += (..
[백준] 1978번 (python 파이썬) https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net import sys testcase = int(input()) input_number = list(map(int,sys.stdin.readline().split())) # 가장 높은 수 기준으로 에라토스테네스의 체를 만든다. # 나머지 수는 만들어 놓은 에라토스테네스의 체에 인덱스로 접근해서 소수인지 판별한다. prime_number = [True] * max(input_number) prime_number[0] = False# 1은 소수가 아니다. i = 1# 2..
[백준] 1934번 (python 파이썬) https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net import sys testcase = int(input()) def gcd(num1, num2): while num2 != 0: r = num1 % num2 num1 = num2 num2 = r return num1 def lcm(num1, num2): return num1 * num2 // gcd(num1, num2) for _ in range(testcase): num1,..
[백준] 2609번 (python 파이썬) https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net a, b = list(map(int, input().split())) def gcd(num1, num2): while num2 != 0: r = num1 % num2 num1 = num2 num2 = r return num1 def lcm(num1, num2): return num1 * num2 // gcd(num1, num2) # 정수형태로 나누기 위해 몫 나눗셈을 사용 print(gcd(a, b)) print(lcm(a, b))
[백준] 10430번 (python 파이썬) https://www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net import sys A, B, C = list(map(int, sys.stdin.readline().strip().split())) print((A+B)%C) print(((A%C) + (B%C))%C) print((A*B)%C) print(((A%C) * (B%C))%C)