1. [함수의 개수] 두 집합 , 에 대하여 에서 로의 함수의 개수를 구하시오.
  • (해설): 집합 의 각 원소에 대응할 수 있는 집합 의 원소는 개씩이므로 함수의 개수는
  • Tip.
    • n개의 알파벳 집합: cm.range_alphabet()
    • n개의 숫자 집합: cm.range_number()
    • 집합 표현: tex.ordered_set()
    • 제곱 수식 표현: <코드 저장소> power expression 참고


  1. [직선의 방정식] 을 지나고 기울기가 인 직선의 방정식을 구하시오.
  • (해설): 점 을 지나고 기울기가 인 직선의 방정식은
이므로 , , 를 대입하면
  • Tip.
    • 음수에 괄호: tex.ap()
    • 다항식 정렬: tex.sort_poly()

  1. [함숫값] 두 함수 ( 로 나눈 나머지), ( 의 양의 약수의 개수)에 대하여 의 값을 구하시오.
  • (해설): 이므로
    이므로
    따라서
  • Tip.
    • 몫: //, 나머지: %
    • 소인수분해 표현: <코드 저장소> 소인수분해 표현 참고
    • 약수의 개수 표현: <코드 저장소> 약수의 개수 표현 참고
  • 변수: divisor = 5, k1 = 45, k2 = 38

 코드 예시
  1. 함수의 개수 템플릿 바로가기
n = cm.rn(2,5)                  # 원소의 개수

X = cm.range_alphabet(n)        # 집합 X: n개 알파벳
Y = cm.range_number(n)          # 집합 Y: n개 숫자(range(n+1))

result = n**n                   # n^n

# 3 x 3 x 3 = 3^3 형태로 표현 <코드 저장소: power expression>

def power(n):
  repeated = ' \\times '.join([str(n)] * n)
  return f"{repeated} = {n}^{n}"

expr = power(n)

  1. 직선의 방정식 템플릿 바로가기
x1 = cm.rn(-15,15)
y1 = cm.rn(-15,15)

P = (x1, y1)                   # 지나는 점 (x1, y1)
s = cm.rn(-15,15,exc=[0])      # 기울기
b = y1 - s * x1                # y절편

x = sympy.symbols('x')
ans = tex.sort_poly(s*x + b)   # x로 정렬

  1. 함숫값 템플릿 바로가기
def factor_count_expression(n):
    factors = sympy.factorint(n)  # {소수: 지수}
    parts = [f"({exp}+1)" for exp in factors.values()]
    return "".join(parts)

divisor = cm.rn(2,5)

k1 = cm.rn(20,50)

# 소수를 제외한 range(20,51)의 숫자 중 하나를 선택
k2 = random.choice([n for n in range(20, 51) if not sympy.isprime(n)])

# divisor = 5
# k1 = 45
# k2 = 38

# k2의 소인수분해 2 x 3^2
format_factors = '\\times'.join(['{}^{{{}}}'.format(v,k) for v,k in sympy.factorint(k2).items()])

quotient = k1 // divisor  # 몫
res1 = k1 % divisor       # 나머지
res2 = len(sympy.divisors(k2))  # k2 약수의 개수

answer = res1 + res2