교과서 속 수학, 코딩으로 깨부수기
[코딩X수학 개념 #3] 사칙연산과 % : 수학의 '주기성' 문제를 푸는 마법의 비밀 기호
안녕하세요! 상자의 종류를 결정하는 '자료형(Data Type)'을 배웠던 지난 2화 내용, 잘 기억하고 계시죠? 정수형(int)과 실수형(float) 상자는 각각 수학의 수 체계와 닮아있어, 종류에 맞는 데이터를 넣어주어야 에러가 나지 않는다고 했습니다.
상자들을 멋지게 준비했다면 이제 무엇을 해야 할까요? 네, 맞습니다. 상자 안의 내용물들을 더하고, 빼고, 곱하고, 나누는 '연산(Operation)'을 해볼 차례입니다.
그런데 컴퓨터가 사용하는 사칙연산 기호는 우리가 수학 교과서에서 보던 기호($+, -, \times, \div$)와 모양이 조금 다릅니다. 특히, 수학 시간에 배운 적 없는 비밀 기호인 % (나머지 연산자)가 등장하는데요. 이 기호 하나만 잘 다뤄도 중고등학교 수학 시험에 단골로 나오는 '규칙성과 주기성' 문제를 순식간에 풀어낼 수 있습니다. 오늘 그 비밀을 낱낱이 파헤쳐 보겠습니다!
1 키보드에는 $\times$와 $\div$가 없다? 코딩의 연산 기호
컴퓨터를 처음 켠 학생들은 키보드 자판에서 곱하기 기호($\times$)와 나누기 기호($\div$)를 한참 동안 찾곤 합니다. 아쉽게도 표준 키보드에는 이 기호들이 없습니다. 그래서 코딩에서는 아래와 같은 대체 기호들을 사용합니다.
- 더하기와 빼기 : 수학과 똑같이
+와-를 씁니다. - 곱하기 ($\times$) : 별표 모양의
*(Asterisk) 기호를 사용합니다. (예: 3 * 5 = 15) - 나누기 ($\div$) : 슬래시 모양의
/(Slash) 기호를 사용합니다. (예: 10 / 2 = 5.0)
여기서 파이썬만의 독특하고 세심한 규칙이 하나 더 있습니다. 나눗셈을 할 때 / 기호를 쓰면, 정수끼리 나누더라도 결과는 무조건 실수형(float)으로 나옵니다. 예를 들어 10 / 2의 계산 결과는 정수 5가 아니라 소수점이 붙은 5.0이 됩니다. 지난 시간에 배운 자료형의 포함 관계가 여기서도 엄격하게 적용되는 셈이죠!
2 숨겨진 주인공: 몫을 구하는 '//'와 나머지를 구하는 '%'
초등학교 수학 시간에 나눗셈을 처음 배울 때 우리는 '몫'과 '나머지'를 따로 적었습니다. 기억하시나요?
"7 나누기 3은 몫이 2이고 나머지가 1이다."
코딩에서는 이 몫과 나머지를 각각 따로 구해주는 아주 편리한 기호가 존재합니다.
# 일반적인 나눗셈 (소수점까지 전부 계산) print(7 / 3) # 결과: 2.3333333333333335 # [몫 연산자 //] 슬래시를 두 번 쓰면 정수 '몫'만 탈탈 털어 줍니다. print(7 // 3) # 결과: 2 # [나머지 연산자 %] 퍼센트 기호를 쓰면 오직 '나머지'만 구해 줍니다. print(7 % 3) # 결과: 1
🧐 나머지 연산자(%)가 왜 마법의 기호일까?
어떤 숫자를 3으로 나누었을 때 나올 수 있는 나머지는 오직 0, 1, 2 뿐입니다. 그 어떤 거대한 숫자가 오더라도 % 3을 해버리는 순간 결과는 0 ➡️ 1 ➡️ 2 ➡️ 0 ➡️ 1 ➡️ 2... 형태로 무한히 순환하게 됩니다. 무언가가 일정한 간격으로 계속 되풀이되는 성질, 수학에서는 이것을 '주기성' 또는 '패턴'이라고 부르죠!
3 이 개념이 내일 당장 수학 문제를 풀 때 어떻게 도움을 줄까?
중고등 수학 시험에 단골로 등장하는 최고 난이도 규칙성 문제를 하나 가져와 보겠습니다.
"$i^{1} + i^{2} + i^{3} + \dots + i^{50}$ 의 값을 구하시오." (고등학교 복소수 i의 거듭제곱 주기성 문제)
이런 문제를 풀 때 일일이 손으로 100번을 세거나 50번을 거듭제곱하는 학생은 없습니다. 본능적으로 '몇 개씩 묶여서 반복되는가'를 찾아내 나누기를 시도하죠. 일주일은 7일 주기로 돌고, 복소수 $i$는 4승 주기로 순환합니다.
코딩을 배운 학생들은 이 '나누어서 묶는 행위'를 직관적으로 구조화합니다.
100일 뒤의 요일은 100 % 7 = 2이므로, 수요일에서 딱 2일 더 전진한 '금요일'이라는 정답을 한 줄의 연산식으로 도출해 냅니다. 복소수 50승 문제 역시 50 % 4 = 2이므로 4개씩 묶여서 0이 되는 세트를 제외하고 딱 2개만 남는다는 것을 시각적으로 인지하게 됩니다.
코딩의 나머지 연산자(%)를 능숙하게 다루다 보면, 아무리 거대하고 복잡해 보이는 수학 수열 문제나 규칙성 문제를 만나더라도 "이 숫자가 가진 주기는 얼마일까? % 연산자를 어디에 붙이면 구조가 보일까?"라는 고차원적인 수학적 알고리즘 설계 능력이 발달하게 됩니다.
🎯 3화 핵심 포인트 복습 노트
1. 코딩에서 곱하기는 *, 나누기는 / 기호를 약속하여 사용한다.
2. //는 나눗셈의 '몫'을, %는 나눗셈의 '나머지'를 완벽하게 구해 준다.
3. 나머지 연산자(%)는 무한히 순환하는 패턴을 만들므로, 수학의 '주기성과 규칙성' 문제를 푸는 최고의 열쇠가 된다!
다음 시간(4화) 예고:
변수 상자를 만들고 사칙연산까지 마스터한 당신! 이제 컴퓨터에게 드디어 '생각할 수 있는 능력'을 선물할 시간입니다. "상자 속 숫자가 90점 이상이면 'A'를 주고, 아니면 거절하라!" 프로그램의 흐름을 쪼개고 결정짓는 알고리즘의 갈림길, [조건문(If문)]의 세계로 떠나보겠습니다. 다음 시간에 만나요!
'코딩으로 시간 벌기 > 코딩X수학' 카테고리의 다른 글
| [코딩X수학 개념 #5] 반복문과 수열의 합 : 수학Ⅰ의 시그마($\sum$) 공식, 외우지 말고 For문으로 관통하라! (0) | 2026.06.20 |
|---|---|
| [코딩X수학 개념 #4] 조건문: 컴퓨터에게 판단력을! 수학의 '명제와 조건'이 만드는 알고리즘의 갈림길 (0) | 2026.06.20 |
| [코딩X수학 개념 #2] 자료형: 수학의 '수의 체계'가 상자의 종류를 결정한다? (0) | 2026.06.17 |
| [코딩X수학 개념 #1] 변수: 수학의 미지수 x가 컴퓨터 속에 들어가면? (1) | 2026.06.12 |
| 반복문: 지치지 않는 일꾼, For문과 Do While문 (0) | 2026.06.09 |
