반응형

백준 7

[백준] N과 M(1)_python

1. 문제 자연수 N과 M이 주어졌을 때 , 아래 조거능ㄹ 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. - 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 2. 입력 첫째 줄에 자연수 N과 M이 주어진다 3 .출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열을 사전 순으로 증가하는 순서로 출력해야 한다. 예제 입력 1 복사 3 1 예제 출력 1 복사 1 2 3 예제 입력 2 복사 4 2 예제 출력 2 복사 1 2 1 3 1 4 2 1 2 3 2 4 3 1 3 2 3 4 4 1 4 2 4 3 예제 입력 3 복사 4 4 예제 출력 3 복사 1 2 3 4 1 2 4 3 1 3 ..

백준 2023.04.27

[백준] 11653번 소인수분해_Python

1. 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오 2. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 3. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 예제 입력 1 복사 72 예제 출력 1 복사 2 2 2 3 3 예제 입력 2 복사 3 예제 출력 2 복사 3 예제 입력 3 복사 6 예제 출력 3 복사 2 3 예제 입력 4 복사 2 예제 출력 4 복사 2 예제 입력 5 복사 9991 예제 출력 5 복사 97 103 4. 문제해결 N = int(input()) m = 2 while N!=1: if N%m==0: print(m) N = N//m else: m += 1 소인수분해란 단어 뜻 그대..

백준 2023.04.25

[백준] 2824번 최대공약수_python

1. 문제 상근이는 학생들에게 두 양의 정수 A와 B의 최대공약수를 계산하는 문제를 내주었다. 그런데, 상근이는 학생들을 골탕 먹이기 위해 매우 큰 A와 B를 주었다. 상근이는 N개의 수와 M개의 수를 주었고, N개의 수를 모두 곱하면 A, M개의 수를 모두 곱하면 B가 된다. 이 수가 주어졌을 때 , 최대공약수를 구하는 프로그램을 작성하시오 2. 입력 첫째 줄에 N(1 ≤ N ≤ 1000)이 주어진다. 둘째 줄에는 N개의 양의 정수가 공백으로 구분되어 주어진다. 이 수는 모두 1,000,000,000보다 작고, N개의 수를 곱하면 A가 된다. 셋째 줄에 M(1 ≤ M ≤ 1000)이 주어진다. 넷째 줄에는 M개의 양의 정수가 공백으로 구분되어 주어진다. 이 수는 모두 1,000,000,000보다 작고,..

백준 2023.04.24

[백준] 골드바흐의 추측_python

1. 문제 1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다. 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 예를 들어 8은 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23 이다. 이 추측은 아직도 해결되지 않은 문제이다. 백만 이하의 모든 짝수에 대해서, 이 추측을 검증하는 프로그램을 작성하시오. 2.입력 입력은 하나 또는 그 이상의 테스트 케이스로 이루어져 있다. 테스트 케이스의 개수는 100,000개를 넘지 않는다. 각 테스트 케이스는 짝수 정수 n 하나로 이루어져 있다. (6..

백준 2023.04.21

[백준] 로또_python

1. 문제 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34]) 집합 S와 k가 주어졌을 때, 수를 고르는 모든 방법을 구하는 프로그램을 작성하시오. 2. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 ..

백준 2023.04.19

[백준] 소수찾기_python

1. 문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오 2.입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1000이하의 자연수이다 3. 출력 주어진 수들 중 소수의 개수를 출력한다. 4. 문제해결 n = int(input()) nums = map(int,input().split()) answer = 0 for i in nums: if i >1: for a in range(2,i): if i % a != 0: answer+=1 print(answer) 처음에는 error를 지정안해주고 answer만 지정을 했다. 그러나 nums를 1 3 5 7을 주어졌을때 answer가 3이 아니라 9가 나왔다. 무슨 일인가 했더니 숫..

백준 2023.04.18

[백준] 2609번 최대공약수와 최소공배수

1. 문제 문제 두개의 자연수를 입력받아 최대 공약소와 최소 공배수를 출력하는 프로그램을 작성하시오 2. 입력 첫째 줄에는 두개 의 자연수가 주어진다. 이 둘은 10000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 3.출력 첫째 줄에는 입력으로 주어진 두수의 최대공약수를, 둘째 줄에는 주어진 두 수의 최소 공배수를 출력한다. 4. 풀이 import math a, b = map(int, input().split()) #최대공약수 print(math.gcd(a, b)) #최소공배수 print(math.lcm(a, b)) python은 math의 라이브러리가 있어서 수학의 대한 식이 나와 있다. gcd 는 최대 공약수 함수이고 lcm은 최소공배수 함수이다. 5.다른 풀이 유클리드 호제법을 사용해서 푸는..

백준 2023.04.17
반응형