목록프로그래밍 언어 (146)
RUBY
약수, 소수, 소인수 출력 100부터 1000사이의 난수에 대해서 약수, 소수, 그리고 소인수를 출력 import random rNum = random.randint(100, 1000) print(f'rNum: {rNum}') for num in range(1, rNum+1): soinsuFlag = 0 #약수 if rNum % num == 0: print(f'[약수]: {num}') soinsuFlag += 1 # 소수 if num != 1: flag = True for n in range(2, num): if num % n == 0: flag = False break if (flag): print(f'[소수]: {num}') soinsuFlag += 1 # 소인수 if soinsuFlag >= 2: ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yK10N/btrWu7g14UJ/BXOpk0fubdqD4RNUa0vVR0/img.png)
확률 확률 확률은 간단히 말해 어떤 일이 일어날 가능성입니다. 어떤 일이 일어날 가능성을 측량하는 단위로 비율이나 빈도로 나타냅니다. 확률에는 수학적 확률과 경험적 확률이 있습니다. 수학적 확률은 모든 경우의 수에 대해 그 일이 일어날 확률을 수학적으로 계산한 것입니다. 수학적 확률은 모든 경우의 수에 대한 그 일이 일어날 경우의 수의 비로 나타낼 수 있습니다. 예를 들어 주사위의 각 면은 동일한 기회를 갖고 있기 때문에 일어날 수 있는 모든 경우의 수는 6이고 그 중에 한 면이 위가 될 경우는 1입니다. 따라서 주사위의 어떤 눈이 나올 확률은 1⁄6이 됩니다. 확률과 조합 → 조합을 이용해서 확률을 알아낼 수 있다. 특정 사건이 일어날 수 있는 수를 찾아보자. 박스에 '꽝'이 적힌 종이가 4장 있고, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EuSJo/btrWppi2Ie6/VXSbUnpmb8i8OGjv95H2HK/img.png)
조합 조합 n개에서 r개를 택하는 경우의 수 순열이 순서 상관 있이 r개를 선택하는 것이라면 조합은 순서에 상관없이 r개를 선택하는 것이다. 파이썬을 이용해서 다음 조합의 값을 구해보자 아래 공식을 이용해보자 numN = int(input('numN 입력: ')) numR = int(input('numR 입력: ')) resultP = 1 resultR = 1 resultC = 1 for n in range(numN, (numN-numR), -1): print('n : {}'.format(n)) resultP = resultP * n print('resultP: {}'.format(resultP)) #nPr에 대한 값을 구한다. for n in range(numR, 0, -1): print('n : {}..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cK5tls/btrWcbFBtMG/P0zRevGS2bxvc709T97srk/img.png)
순열 순열 서로 다른 n개의 원소에서 r개를 중복없이 순서에 상관있게 선택하는 혹은 나열하는 것 순열은 팩토리얼(계승)을 이용해서 나타낼 수 있다. 경우의 수 순열의 값 구하기 numN = int(input('numN 입력: ')) numR = int(input('numR 입력: ')) result = 1 for n in range(numN, (numN-numR), -1): print('n : {}'.format(n)) result = result * n print('result: {}'.format(result))
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lx72B/btrWd2AXYdP/oPmZ8bL9lkXNGkon19J9E0/img.png)
군수열 군수열 수열의 항을 차례로, 규칙을 갖고, 몇 개씩 묶어, 군으로 만든, 수열 군수열을 보고 n번째 항의 값을 출력 1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5, … 1 1,2 1,2,3 1,2,3,4 1,2,3,4,5... inputN = int(input('n항 입력: ')) flag = True n = 1; nCnt = 1; searchN = 0 while flag: for i in range(1, (n + 1)): if i == n: print('{} '.format(i), end='') else: print('{}, '.format(i), end='') nCnt += 1 if (nCnt > inputN): searchN = i flag = False br..
팩토리얼 팩토리얼 그 수보다 작거나 같은 모든 양의 정수의 곱 팩토리얼 결과값 출력 1. 반복문 이용하기 inputN = int(input('n 입력: ')) result = 1 for n in range(1, inputN+1): result *= n print('{} 팩토리얼: {}'.format(inputN, result)) inputN = int(input('n 입력: ')) result = 1 n = 1 while n
피보나치 수열 피보나치 수열 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열 피보나치 수 계산하기 inputN = int(input('n 입력: ')) valueN = 0 sumN = 0 valuePreN2 = 0 valuePreN1 = 0 n = 1 while n
계차 수열 계차 수열 어떤 수열의 인접하는 두 항의 차로 이루어진 또 다른 수열 계차 수열과 일반항 계차 수열을 이용해서 수열 an의 일반항을 구할 수 있다. 수열의 n번째 항의 값을 출력 an = {3, 7, 13, 21, 31, 43, 57} inputAN1 = int(input('a1 입력: ')) inputAN = int(input('an 입력: ')) inputBN1 = int(input('b1 입력: ')) inputBD = int(input('bn 공차 입력: ')) valueAN = 0 valueBN = 0 n = 1 while n