목록전체 글 (305)
RUBY

확률 박스에 ‘꽝’이 적힌 종이가 6장 있고, ‘선물’이 적힌 종이가 4장이 있을 때, 파이썬을 이용해서 ‘꽝’3장과 ‘선물’ 3장을 뽑는 확률(%)을 출력하자. def proFun(): numN = int(input('numN 입력: ')) numR = int(input('numR 입력: ')) resultP = 1 resultR = 1 resultC = 1 for n in range(numN, (numN-numR), -1): resultP = resultP * n print('resultP: {}'.format(resultP)) for n in range(numR, 0, -1): resultR = resultR * n print('resultR: {}'.format(resultR)) resultC =..

조합 다음 조합들의 값 구하기 numN = int(input('numN 입력: ')) numR = int(input('numR 입력: ')) resultP = 1 resultR = 1 resultC = 1 for n in range(numN, (numN-numR), -1): resultP = resultP * n print('resultP: {}'.format(resultP)) for n in range(numR, 0, -1): resultR = resultR * n print('resultR: {}'.format(resultR)) resultC = int(resultP / resultR) print('resultC: {}'.format(resultC)) numN 입력: 9 numR 입력: 4 resul..

순열 순열의 값 구하기 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)) fnum1 = int(input('factorial1 입력: ')) result1 = 1 for n in range(fnum1, 0, -1): result1 *= n print('result1: {}'.format(result1)) fnum2 = int(input('factorial1 입력: ')) result2 = 1 for n in ran..

군 수열 다음 수열의 합이 최초 100을 초과하는 n번째 항의 값과 n을 출력 flag = True n = 1 #군 nCnt = 1 #항 searchNC = 0 #분자의 값 searchNP = 0 #분모의 값 sumN = 0 while flag: for i in range(1, (n + 1)): if i == n: print('{}/{} '.format(i, (n - i + 1)), end='') else: print('{}/{}, '.format(i, (n - i + 1)), end='') sumN += i / (n - i + 1) nCnt += 1 if (sumN > 100): searchNC = i searchNP = n - i + 1 flag = False break print() n += 1 p..
팩토리얼 반복문을 이용한 함수와 재귀 함수, 파이썬 math 모듈을 이용해서 구현 반복문을 이용한 팩토리얼 구현 def facFun1(n): fac = 1 for n in range(1, (n+1)): fac *= n return fac num = int(input('input number: ')) print(f'{num}!: {facFun1(num)}') 재귀함수를 이용한 팩토리얼 구현 def facFun2(n): if n == 1: return n return n * facFun2(n-1) num = int(input('input number: ')) print(f'{num}!: {facFun2(num)}') math 모듈을 이용한 구현 import math num = int(input('input ..
피보나치수열 피보나치수열에서 n항의 값과 n항까지의 합을 출력 {1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …} inputN = int(input('n 입력: ')) valueN = 0 sumN = 0 valuePreN2 = 0 valuePreN1 = 0 n = 1 while n
계차수열 다음 수열의 일반항을 구하고 n번째항의 값과 합을 출력 {2, 5, 11, 20, 32, 47, 65, 86, 110, 137, 167, …} # (3n^2 - 3n + 4)/2 = an inputA1 = int(input('a1 입력: ')) inputN = int(input('an 입력: ')) valueAN = ((3 * inputN ** 2) - (3 * inputN) + 4) / 2 print('an의 {}번째 항의 값: {}'.format(inputN, int(valueAN))) a1 입력: 2 an 입력: 11 an의 11번째 항의 값: 167

시그마 첫 째날 쌀 두톨을 받고 둘째 날부터는 하루 전의 2배에 해당하는 쌀을 받는다고 할 때, 30일째 되는 날 받게 되는 쌀의 개수를 수열과 시그마로 나타내고 이를 출력 {2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, … } inputA1 = int(input('a1 입력: ')) inputR = int(input('공비 입력: ')) inputN = int(input('n 입력: ')) valueN = 0 sumN = 0 n = 1 while n