본문 바로가기

👩🏻‍💻 Front-end/👾 Algorithm53

백준 10870 - 피보나치 수 5 (Python) 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 n번째 피보나치 수를 출력한다. 코드 def fibonacci(n): if n =2) 이기 때문에, n 2022. 5. 14.
백준 10872 - 팩토리얼 (Python) 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0≤N≤12)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 코드 def fac(n): if n 2022. 5. 13.
백준 1929 - 에라토스테네스의 체 (Python) 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 코드 m, n = map(int, input().split()) numbers = [] prime_numbers = [] for i in range(2, n+1): numbers.append(i) i = 0 while(True): num = numbers[i] if num >= numbers[-1]: break prime_numbers.append(num) if num >= m: print(num) temp = num.. 2022. 5. 11.
백준 11653 - 소인수분해 (Python) 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 코드 n = int(input()) for i in range(2, n+1): while n % i == 0: print(i) n /= i 풀이 소인수분해 결과를 오름차순으로 출력하기 때문에, 2부터 시작해서 n이 나누어떨어지는 수 i를 찾는다. 나누어 떨어지면 n을 i로 나눈다. 인수는 중복될 수 있으므로 더이상 i로 나누어떨어지지 않으면 다음 수로 넘어가서 똑같이 반복한다. 2022. 5. 10.