[파이썬]완전수 구하기
자기 자신을 제외한 모든 양의 약수들의 합이 자기 자신이 되는 자연수를 완전수라고 한다. 예를 들면, 6과 28은 완전수이다. 6=1+2+3 // 1,2,3은 각각 6의 약수 28=1+2+4+7+14 // 1,2,4,7,14는 각각 28의 약수 입력으로 자연수 N을 받고, 출력으로 N 이하의 모든 완전수를 출력하는 코드를 작성하라. N = int(input("자연수를 입력해주세요: ")) def perfect_number(N): perfect_num = [] for num in range (1, N+1): sum = 0 for i in range(1, num): if num%i == 0: sum += i else: pass if sum == num: perfect_num.append(sum) return..
2022. 10. 3.
[파이썬]1~1000에서 각 숫자의 개수 구하기
예로 10 ~ 15 까지의 각 숫자의 개수를 구해보자 10 = 1, 0 11 = 1, 1 12 = 1, 2 13 = 1, 3 14 = 1, 4 15 = 1, 5 그러므로 이 경우의 답은 0:1개, 1:7개, 2:1개, 3:1개, 4:1개, 5:1개 list_n = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] for i in range(1, 1000): for n in range(0, len(str(i))): a = str(i)[n] list_n [int(a)] += 1 print(list_n) 1~1000에서 각 숫자의 개수 구하기 - 코딩도장 (codingdojang.com) 코딩도장 프로그래밍 문제풀이를 통해서 코딩 실력을 수련 codingdojang.com
2022. 10. 2.
[파이썬] 피보나치 수열
피보나치 수열이란, 첫 번째 항의 값이 0이고 두 번째 항의 값이 1일 때, 이후의 항들은 이전의 두 항을 더한 값으로 이루어지는 수열을 말한다. 예) 0, 1, 1, 2, 3, 5, 8, 13 인풋을 정수 n으로 받았을때, n 이하까지의 피보나치 수열을 출력하는 프로그램을 작성하세요 n = int(input()) list = [0, 1] def fibonach(n): x = 0 while len(list)
2022. 10. 2.
[파이썬]프로젝트 오일러 #7
소수를 크기 순으로 나열하면 2, 3, 5, 7, 11, 13, ... 과 같이 됩니다. 이 때 10,001번째의 소수를 구하세요. n = 2**20 primes = [] #소수를 담을 list table = [False, False] + [True]*(n-1) for i in range(2, n+1): if table[i]: primes.append(i) for j in range(2*i, n+1, i): table[j] = False print(primes[10000]) #10001번째 값을 꺼낸다. 소수를 구하는 방법은 프로젝트 오일러 5번 문제에 사용했던 table을 만들고 소수의 배수를 하나씩 False로 지워나가는 방식을 사용하였다. 문제점이 있다면 에라토스테네스의 체를 사용하기 위해 맨처음 ..
2022. 9. 27.