소수 나열하기
prime number를 모두 나열하는 알고리즘
def prime(n):
prime = []
for i in range(1, n+1):
for j in range(1, i):
if i % j != 0:
#으음..
#n 이하의 수
#n, n-1, n-2, ... , 1까지 소수인지를 판별
#
a = n
if n % a == 0 아아아아 모르겠어..
prime.append(n)
n -= 1
for i in range(1, n+1):
if i % n ==
n진수 변환
def card_conv(x:int, r:int) -> str:
d = ''
dchar = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
n = len(str(x))
print(f'{r:2} : {x:{n}d}')
while x > 0:
print(' +' + (n+2)*'-')
if x // r:
print(f'{r:2} : {x // r:{n}d} ... {x % r}')
else:
print(f' {x//r:{n}d}...{x%r}')
d += dchar[x%r]
x //= r
return d[::-1]
if __name__=='__main__':
print('10진수를 n진수로 변환합니다.')
while True:
while True:
no = int(input('변환할 값으로 음이 아닌 정수를 입력하세요.:'))
if no > 0:
break
while True:
cd = int(input('어떤 진수로 변환할까요?: '))
if 2 <= cd <= 36:
break
print(f'{cd}진수로는 {card_conv(no, cd)}입니다.')
retry = input("한 번 더 변환할까요? (Y ... 예 / N ... 아니요):")
if retry in {'N', 'n'}:
break
1부터 n까지 합 구하기 - 매개변수 이용하기
def sum_1ton(n):
s = 0
for i in range(1, n+1):
s += i
return s
예제 코드
def sum_1ton(n):
s = 0
while n > 0:
s += n
n -= 1
return s
print(sum_1ton(5))
파이썬 : 매개변수에 실제 인수가 대입된다.
변수 n이 업데이트되면, 다른 객체를 참조하는 것이다.
복사하는 값에 의한 호출 call by value
실제 인수와 매개변수가 같아지는 참조에 의한 호출 call by reference
객체 참조에 의한 전달 call by object reference
수가 이뮤터블일 때
인수가 뮤터블일 때
def change(lst, idx, val):
lst [idx] = val
x = [11, 22, 33, 44, 55]
print('x =', x)
index = int(input('업데이트할 인덱스를 선택하세요.:'))
value = int(input('새로운 값을 입력하세요.: '))
change(x, index, value)
print(f'x={x}')
'Computer Science > 자료구조' 카테고리의 다른 글
[4.26] 1장(알고리즘 기초) 복습 (1) | 2021.04.26 |
---|---|
[4.24] 2장 마무리 (1) | 2021.04.24 |
[4.21] 02-1 배열하는 알고리즘 (2) (1) | 2021.04.21 |
[4.20] 02-2 배열이란? -(1) (1) | 2021.04.20 |
[4.19] 02-1 자료구조와 배열(1) (1) | 2021.04.19 |