∑란, 수열의 합을 나타내는 기호이다.
시그마를 이용해서 나타낸 수열의 합을 파이썬 프로그램으로 만들기(등차)
# an = a1 + (n-1)d
# Sn = n(a1 + an) / 2
inputN1 = int(input('a1 입력: '))
inputD = int(input('공차 입력: '))
inputN = int(input('n 입력: '))
valueN = inputN1 + (inputN - 1) * inputD
sumN = inputN * (inputN1 + valueN) / 2
print('{}번쨰 항까지의 합: {}'.format(inputN, int(sumN)))
시그마를 이용해서 나타낸 수열의 합을 파이썬 프로그램으로 만들기(등비)
# Sn = a1 * (1 - r^n) / (1-r)
inputN1 = int(input('a1 입력: '))
inputR = int(input('공비 입력: '))
inputN = int(input('n 입력: '))
sumN = inputN1 * (1 - (inputR ** inputN)) / (1 - inputR)
print('{}번쨰 항까지의 합: {}'.format(inputN, int(sumN)))
어떤 수열의 인접하는 두 항의 차로 만들어진 또 다른 수열
다음 수열을 보고 n번째 항의 값을 출력하는 프로그램 만들기
# an = {3, 7, 13, 21, 31, 43, 57}
# bn = {4, 6, 8, 10, 12, 14}
inputAN1 = int(input('a1 입력: '))
inputAN = int(input('an 입력: '))
inputBN1 = int(input('b1 입력: '))
inputBD = int(input('bn 공차 입력: '))
valueAN = 0
valueBN = 0
n = 1
while n <= inputAN:
if n == 1:
valueAN = inputAN1
valueBN = inputBN1
print('an의 {}번째 항의 값: {}' .format(n, valueAN))
print('bn의 {}번째 항의 값: {}' .format(n, valueBN))
n += 1
continue
valueAN = valueAN + valueBN
valueBN = valueBN + inputBD
print('an의 {}번쨰 항의 값: {}' .format(n, valueAN))
print('bn의 {}번쨰 항의 값: {}' .format(n, valueBN))
n += 1
print('an의 {}번째 항의 값: {}' .format(inputAN, valueAN))
print('bn의 {}번째 항의 값: {}' .format(inputAN, valueBN))
수열의 일반항을 알 때, n번째 항의 값을 출력하는 프로그램 만들기(계차수열을 사용하지 않음)
# an = {3, 7, 13, 21, 31, 43, 57}
# bn = {4, 6, 8, 10, 12, 14}
inputAN1 = int(input('a1 입력: '))
inputAN = int(input('an 입력: '))
# n^2 + n + i = an
valueAN = inputAN ** 2 + inputAN + 1
print('an의 {}번째 항의 값: {}' .format(inputAN, valueAN))
세 번째 항은 두 번째 항과 첫 번째 항을 더한 합이다.
파이썬을 이용해서 피보나치 수를 계산하는 프로그램 만들기
inputN = int(input('n 입력: '))
valueN = 0
sumN = 0
valuePreN2 = 0
valuePreN1 = 0
n = 0
while n <= inputN:
if n == 1 or n ==2:
valueN = 1
valuePreN2 = valueN
valuePreN1 = valueN
sumN += valueN
n += 1
else:
valueN = valuePreN2 + valuePreN1
valuePreN2 = valuePreN1
valuePreN1 = valueN
sumN += valueN
n += 1
print('{}번째 항의 값: {}' .format(inputN, valueN))
print('{}번째 항까지의 합: {}' .format(inputN, sumN))
1부터 양의 정수 n까지의 정수를 모두 곱한 것
파이썬을 이용해서 팩토리얼 결괏값을 출력하는 프로그램 만들기
# for문 이용
inputN = int(input('n 입력: '))
result = 1
for n in range(1, inputN+1):
result *= n
print('{} 팩토리얼: {}' .format(inputN, result))
# while문 이용
inputN = int(input('n 입력: '))
result = 1
n = 1
while n <= inputN:
result *= n
n += 1
print('{} 팩토리얼: {}' .format(inputN, result))
inputN = int(input('n 입력: '))
def factorial(n):
if n == 1: return 1
return n * factorial(n - 1)
print('{} 팩토리얼: {}' .format(inputN, factorial(inputN)))
inputN = int(input('n 입력: '))
import math
print('{} 팩토리얼: {}' .format(inputN, math.factorial(inputN)))
여러 개의 항을 묶었을 때 규칙성을 가지는 수열
다음 수열을 보고 n번째 항의 값을 출력하는 프로그램 만들기
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
break
print()
n += 1
print('{}항: {}' .format(inputN, searchN))
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))
시작과 끝의 구분이 없는 순열
4명의 친구가 원탁 테이블에 앉을 수 있는 순서를 계산해보자.
n = int(input('친구 수 입력: '))
result = 1
for i in range(1, n):
result *= i
print('result: {}' .format(result))