philschmid/DMath huggingface dataset:
Category: Arithmetic calculation

Question (EN): There were 4 carrots and a few cucumbers in a total of 10. Today your mother bought 2 more cucumbers. How many cucumbers are there now?
Question (KO): 당근 4개와 오이 몇 개가 합해서 모두 10개 있었습니다. 오늘 어머니께서 오이 2개를 더 사 오셨습니다. 지금 오이는 모두 몇 개인지 구하시오.

Answer: 8

Solution (Python):
var_a = 10
var_b = 4
var_c = var_a - var_b
var_d = 2
var_e = var_c + var_d
print(int(var_e))
Category: Geometry

Question (EN): Three of the quadrilateral's four angles measure 75 degrees (angle), 80 degrees (angle), and 120 degrees (angle), respectively. What degree (angle) is the other angle of this rectangle?
Question (KO): 사각형의 네 각 중 세 각의 크기는 각각 75도, 80도, 120도였습니다. 이 사각형의 나머지 한 각의 크기는 몇 도입니까?

Answer: 85

Solution (Python):
var_a = 360
var_b = 75
var_c = var_a - var_b
var_d = 80
var_e = var_c - var_d
var_f = 120
var_g = var_e - var_f
print(int(var_g))
Category: Arithmetic calculation

Question (EN): In Seokjin's class, 37 students submitted math homework and 42 Korean language homework. If the total number of students is 48 and no student has missed both homework assignments, how many students have completed both homework assignments?
Question (KO): 석진이네 반에서 수학 숙제는 37명, 국어 숙제는 42명이 제출했습니다. 전체 학생 수는 48명이고 두 숙제를 모두 안 한 학생은 없을 때, 숙제를 모두 해 온 학생은 몇 명인지 구하시오.

Answer: 31

Solution (Python):
var_a = 37
var_b = 42
var_c = var_a + var_b
var_d = 48
var_e = var_c - var_d
print(int(var_e))
Category: Possibility

Question (EN): There are number-shaped sweets. If there are three in the shape of 3, 0 and 6, you want to put two dalgonas in a row to make it look like a two-digit number. How many can you make in total?
Question (KO): 숫자 모양 달고나가 있습니다. 3, 0, 6모양의 3개가 있을 때, 두 개의 달고나를 차례대로 놓아서 두 자리 숫자처럼 보이게 하려고 합니다. 총 몇 가지를 표현할 수 있습니까?

Answer: 4

Solution (Python):
var_a = 3
var_b = 0
var_c = 6
list_a= []
if "/" in str(var_c):
    var_c = eval(str(var_c))
list_a.append(var_c)
if "/" in str(var_b):
    var_b = eval(str(var_b))
list_a.append(var_b)
if "/" in str(var_a):
    var_a = eval(str(var_a))
list_a.append(var_a)
list_a.reverse()
var_d = 2
list_b = [str(i) for i in list_a]
list_b = list(itertools.permutations(list_b, var_d))
list_b = [''.join(num_list) for num_list in list_b]
list_b = [str_num for str_num in list_b if str_num[0] != '0']
list_b = [float(i) for i in list_b]
var_e = len(list_b)
print(int(var_e))
Category: Geometry

Question (EN): There is a pyramid that has 15 faces and whose edges are all the same as 9 centimeters (cm). What is the sum of the lengths of the edges of this pyramid in centimeters (cm)?
Question (KO): 면의 수가 15개이고 모서리의 길이가 9센티미터(㎝)로 모두 같은 각뿔이 있습니다. 이 각뿔의 모든 모서리의 길이의 합은 몇 센티미터(㎝)입니까?

Answer: 126

Solution (Python):
var_a = 15
var_b = 1
var_c = var_a - var_b
var_d = 9
var_e = var_c * var_d
print(int(var_e))
Category: Geometry

Question (EN): I am trying to make a cube as small as possible by stacking cuboid-shaped boxes that are 8 centimeters (cm) wide, 12 centimeters (cm) long, and 30 centimeters (cm) high in a certain direction. Find the number of boxes needed at this time.
Question (KO): 가로의 길이가 8센티미터(㎝), 세로의 길이가 12센티미터(㎝), 높이가 30센티미터(㎝)인 직육면체 모양의 상자를 일정한 방향으로 빈틈없이 쌓아 가능한 한 작은 정육면체를 만들려고 한다. 이때 필요한 상자의 개수를 구하시오.

Answer: 600

Solution (Python):
var_a = 8
var_b = 12
var_c = var_b * var_a / math.gcd(int(var_b), int(var_a))
var_d = 30
var_e = var_d * var_c / math.gcd(int(var_d), int(var_c))
var_f = 8
var_g = var_e / var_f
var_h = 8
var_i = 12
var_j = var_i * var_h / math.gcd(int(var_i), int(var_h))
var_k = 30
var_l = var_k * var_j / math.gcd(int(var_k), int(var_j))
var_m = 12
var_n = var_l / var_m
var_o = 8
var_p = 12
var_q = var_p * var_o / math.gcd(int(var_p), int(var_o))
var_r = 30
var_s = var_r * var_q / math.gcd(int(var_r), int(var_q))
var_t = 30
var_u = var_s / var_t
var_v = var_n * var_u
var_w = var_g * var_v
print(int(var_w))
Category: Comparison

Question (EN): Car A is traveling at 92 kilometers (km) per hour and car B is traveling at 1500 meters (m) per minute. Which car, A or B, is faster?
Question (KO): 자동차 A는 시속 92킬로미터(㎞)로 달리고, 자동차 B는 분속 1500미터(m)로 달립니다. A와 B 중 어떤 자동차가 더 속력이 빠릅니까?

Answer: A

Solution (Python):
var_a = 'A'
var_b = 'B'
list_a= []
if "/" in str(var_b):
    var_b = eval(str(var_b))
list_a.append(var_b)
if "/" in str(var_a):
    var_a = eval(str(var_a))
list_a.append(var_a)
list_a.reverse()
var_c = 92
var_d = 1500
var_e = 1000
var_f = var_d / var_e
var_g = 60
var_h = var_f * var_g
list_b= []
if "/" in str(var_h):
    var_h = eval(str(var_h))
list_b.append(var_h)
if "/" in str(var_c):
    var_c = eval(str(var_c))
list_b.append(var_c)
list_b.reverse()
var_i = 1
list_c=list_b.copy()
list_c.sort()
var_j = list_c[-var_i]
var_k = list_b.index(var_j)+1
var_l = list_a[var_k-1]
print(var_l)
Category: Comparison

Question (EN): Jungkook has 0.8 written on a card, and Yoongi has 1/2 written on a card. How many people have number that is greater than 0.3 written on their cards?
Question (KO): 정국이는 0.8, 윤기는 1/2의 숫자카드를 갖고 있습니다. 0.3보다 큰 숫자카드를 가지고 있는 사람은 몇 명입니까?

Answer: 2

Solution (Python):
var_a = 0.8
var_b = 0.5
list_a= []
if "/" in str(var_b):
    var_b = eval(str(var_b))
list_a.append(var_b)
if "/" in str(var_a):
    var_a = eval(str(var_a))
list_a.append(var_a)
list_a.reverse()
var_c = 0.3
list_b = []
for i in list_a:
    if i > var_c:
        list_b.append(i)
var_d = len(list_b)
print(int(var_d))
Category: Geometry

Question (EN): What is the sum of the lengths of all the sides of a regular octagon with a side length of 2.3 centimeters (cm), in meters (m)?
Question (KO): 한 변의 길이가 23센티미터(㎝)인 정팔각형의 모든 변의 길이의 합은 몇 미터(m)입니까?

Answer: 1840

Solution (Python):
var_a = 2.3
var_b = 100
var_c = var_a / var_b
var_d = 8
var_e = var_c * var_d
print('{:.2f}'.format(round(var_e+1e-10,2)))
Category: Possibility

Question (EN): We are going to use four number cards of 0, 1, 4, and 8 once to make the 6th smallest of four-digit numbers which have 8 in the thousands. Then we are going to sum up all the numbers in each digit.
Question (KO): 네 개의 숫자 카드 0, 1, 4, 8을 한 번 사용하여 첫 번째 숫자가 8인 2번째로 작은 네 자리 숫자를 찾은 다음 각 숫자의 합을 찾습니다.

Answer: 13

Solution (Python):
var_a = 0
var_b = 1
var_c = 4
var_d = 8
list_a= []
if "/" in str(var_d):
    var_d = eval(str(var_d))
list_a.append(var_d)
if "/" in str(var_c):
    var_c = eval(str(var_c))
list_a.append(var_c)
if "/" in str(var_b):
    var_b = eval(str(var_b))
list_a.append(var_b)
if "/" in str(var_a):
    var_a = eval(str(var_a))
list_a.append(var_a)
list_a.reverse()
var_e = 3
list_b = [str(i) for i in list_a]
list_b = list(itertools.permutations(list_b, var_e))
list_b = [''.join(num_list) for num_list in list_b]
list_b = [str_num for str_num in list_b if str_num[0] != '0']
list_b = [float(i) for i in list_b]
var_f = 1
var_g = 8
list_c = [] 
var_f = int(var_f)
var_g = int(var_g)
for i in list_b:
    i = int(i)
    if (i//var_f)%10 == var_g:
        list_c.append(i)
var_h = 2
list_d=list_c.copy()
list_d.sort()
var_i = list_d[var_h-1]
list_e = []
var_i = int(var_i)
while var_i//10 > 0:
    list_e.append(var_i%10)
    var_i = var_i//10
list_e.append(var_i%10)
list_e = list_e[::-1]
list_e = [float(i) for i in list_e]
var_j = sum(list_e)
print(int(var_j))
Category: Geometry

Question (EN): You are going to cut a rectangular wooden board that is 24 centimeters (cm) wide by 18 centimeters (cm) long, without any remaining, to make several pieces of the largest square wooden piece of the same size. How many wooden pieces can you make in all?
Question (KO): 가로가 24센티미터(㎝), 세로가 18센티미터(㎝)인 직사각형 모양의 나무 판자를 남는 부분 없이 잘라 같은 크기의 가장 큰 정사각형 모양의 나무 조각을 여러 개 만들려고 합니다. 나무 조각은 모두 몇 개 만들 수 있는지 구하시오.

Answer: 12

Solution (Python):
var_a = 24
var_b = 24
var_c = 18
var_d = math.gcd(int(var_c), int(var_b))
var_e = var_a // var_d
var_f = 18
var_g = 24
var_h = 18
var_i = math.gcd(int(var_h), int(var_g))
var_j = var_f // var_i
var_k = var_e * var_j
print(int(var_k))
Category: Correspondence

Question (EN): You handed out 170 pencils, 268 notebooks, and 120 erasers to each of the students on the playground equally. There were 8 pencils left, 2 notebooks short, and 12 erasers left. What is the maximum number of students that were on the playground?
Question (KO): 연필 170자루, 공책 268권, 지우개 120개를 가지고 운동장에 있는 학생들에게 각각 똑같이 나누어 주었다. 연필은 8자루가 남았고, 공책은 2권이 모자랐으며 지우개는 12개가 남았다. 운동장에 있던 학생들은 최대 몇 명인가?

Answer: 54

Solution (Python):
var_a = 170
var_b = 8
var_c = var_a - var_b
var_d = 268
var_e = 2
var_f = var_d + var_e
var_g = math.gcd(int(var_f), int(var_c))
var_h = 120
var_i = 12
var_j = var_h - var_i
var_k = math.gcd(int(var_j), int(var_g))
print(int(var_k))
Category: Possibility

Question (EN): Try to make a three-digit number by using 2, 4, 7, and 9 once. What is the third least three-digit number with 7 in the tens place?
Question (KO): 2, 4, 7, 9를 한 번씩 사용하여 세자리 수를 만들려고 한다. 십의 자리 숫자가 7인 수들 중 세 번째로 작은 세 자리 수는 무엇입니까?

Answer: 472

Solution (Python):
var_a = 2
var_b = 4
var_c = 7
var_d = 9
list_a= []
if "/" in str(var_d):
    var_d = eval(str(var_d))
list_a.append(var_d)
if "/" in str(var_c):
    var_c = eval(str(var_c))
list_a.append(var_c)
if "/" in str(var_b):
    var_b = eval(str(var_b))
list_a.append(var_b)
if "/" in str(var_a):
    var_a = eval(str(var_a))
list_a.append(var_a)
list_a.reverse()
var_e = 3
list_b = [str(i) for i in list_a]
list_b = list(itertools.permutations(list_b, var_e))
list_b = [''.join(num_list) for num_list in list_b]
list_b = [str_num for str_num in list_b if str_num[0] != '0']
list_b = [float(i) for i in list_b]
var_f = 10
var_g = 7
list_c = [] 
var_f = int(var_f)
var_g = int(var_g)
for i in list_b:
    i = int(i)
    if (i//var_f)%10 == var_g:
        list_c.append(i)
var_h = 3
list_d=list_c.copy()
list_d.sort()
var_i = list_d[var_h-1]
print(int(var_i))
Category: Comparison

Question (EN): Which of the five numbers 1.4, 9/10, 1.2, 0.5, and 13/10 is the largest number less than 1.1?
Question (KO): 5가지 숫자 1.4, 9/10, 1.2, 0.5, 13/10 중에서 1.1보다 작은 수 중 가장 큰 숫자는 무엇입니까?

Answer: 0.9

Solution (Python):
var_a = 1.4
var_b = 0.9
var_c = 1.2
var_d = 0.5
var_e = 1.3
list_a= []
if "/" in str(var_e):
    var_e = eval(str(var_e))
list_a.append(var_e)
if "/" in str(var_d):
    var_d = eval(str(var_d))
list_a.append(var_d)
if "/" in str(var_c):
    var_c = eval(str(var_c))
list_a.append(var_c)
if "/" in str(var_b):
    var_b = eval(str(var_b))
list_a.append(var_b)
if "/" in str(var_a):
    var_a = eval(str(var_a))
list_a.append(var_a)
list_a.reverse()
var_f = 1.1
list_b = []
for i in list_a:
    if i < var_f:
        list_b.append(i)
var_g = 1
list_c=list_b.copy()
list_c.sort()
var_h = list_c[-var_g]
print('{:.2f}'.format(round(var_h+1e-10,2)))
Category: Correspondence

Question (EN): When 14A+B73=418, what number should go in B?
Question (KO): 14A+B73=418일 때, B에 들어가야 하는 숫자는 무엇인가요?

Answer: 2

Solution (Python):
var_a = '14A+B73=418'
var_b = 'B'
ans_dict = dict()
var_a = var_a.replace('×','*')
var_a = var_a.replace('x','*')
var_a = var_a.replace('÷','/')
variable_candi = set(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'])
for v in set(var_a):
    if v in variable_candi:
        ans_dict[v] = 1
candi = list(itertools.product('0123456789', repeat=len(ans_dict)))
for c in candi:
    temp = var_a
    for i, (k, _) in enumerate(ans_dict.items()):
        temp = temp.replace(k, str(c[i]))
    term_list = []
    op_list = []
    temp_c = ''
    for tc in temp:
        if tc not in '+-*/=><().':
            temp_c += tc
        else:
            op_list.append(tc)
            term_list.append(temp_c)
            temp_c = ''
    term_list.append(temp_c)
    new_eq = ''
    for i in range(len(op_list)):
        new_eq += str(int(term_list[i]))+op_list[i]
    new_eq += str(int(term_list[-1]))
    if len(new_eq) == len(var_a):
        new_eq=new_eq.replace('=', '==')
        new_eq=new_eq.replace('>==', '>=')
        new_eq=new_eq.replace('<==', '<=')
        eval_result = False
        try:
            eval_result = eval(new_eq)
        except:
            pass
        if eval_result:
            for i, (k, _) in enumerate(ans_dict.items()):
                ans_dict[k] = int(c[i])
var_c = ans_dict[var_b]
print(int(var_c))
Category: Arithmetic calculation

Question (EN): Hoseok bought the same number of marbles at 80 won each with the money he could buy for several marbles at 100 won each, and he had 260 won left. How many marbles did Hoseok buy?
Question (KO): 호석이는 1개에 100원짜리 구슬을 몇 개 살 수 있는 돈으로 1개에 80원짜리 구슬을 같은 개수만큼 샀더니 260원이 남았습니다. 호석이는 구슬을 몇 개 샀습니까?

Answer: 13

Solution (Python):
var_a = 260
var_b = 100
var_c = 80
var_d = var_b - var_c
var_e = var_a / var_d
print(int(var_e))
Category: Arithmetic calculation

Question (EN): Find the largest number other than 15 among the divisors of 15.
Question (KO): 15의 약수 중 15를 제외하고 가장 큰 수를 구하시오.

Answer: 5

Solution (Python):
var_a = 15
list_a = []
num_sqrt = int(math.sqrt(var_a))
for i in range(1, num_sqrt+1):
    if var_a % i == 0:
        list_a.append(i)
        list_a.append(int(var_a/i))
list_a = sorted(set(list_a))
var_b = 2
list_b=list_a.copy()
list_b.sort()
var_c = list_b[-var_b]
print(int(var_c))
Category: Comparison

Question (EN): Jaeho and Kyunghwan took a walk at the same time. Jaeho walked one hundredth of 10.2 kilometers (km), and Kyunghwan walked 100 meters (m). Who walked more?
Question (KO): 재호와 경환은 같은 시간 산책을 했다. 재호는 10.2킬로미터(㎞)의 100분의 1을 걸었고, 경환은 100미터(m)를 걸었다. 누가 더 많이 걸었을까?

Answer: Jaeho

Solution (Python):
var_a = 'Jaeho'
var_b = 'Kyunghwan'
list_a= []
if "/" in str(var_b):
    var_b = eval(str(var_b))
list_a.append(var_b)
if "/" in str(var_a):
    var_a = eval(str(var_a))
list_a.append(var_a)
list_a.reverse()
var_c = 10.2
var_d = 1000
var_e = var_c * var_d
var_f = 100
var_g = var_e / var_f
var_h = 100
list_b= []
if "/" in str(var_h):
    var_h = eval(str(var_h))
list_b.append(var_h)
if "/" in str(var_g):
    var_g = eval(str(var_g))
list_b.append(var_g)
list_b.reverse()
var_i = 1
list_c=list_b.copy()
list_c.sort()
var_j = list_c[-var_i]
var_k = list_b.index(var_j)+1
var_l = list_a[var_k-1]
print(var_l)
Category: Arithmetic calculation

Question (EN): I am going to make a 50.5 centimeters (cm) bridge by overlapping three 18 centimeters (cm) wooden blocks in the same length and then joining them together. How many centimeters (cm) should each overlapping section be?
Question (KO): 18센티미터(㎝)의 나무 토막 3개를 같은 길이씩 겹친 뒤 이어붙여 50.5센티미터(㎝) 다리를 만들려고 합니다. 몇 센티미터(㎝)씩 겹쳐야 할까요?

Answer: 1.75

Solution (Python):
var_a = 18
var_b = 3
var_c = var_a * var_b
var_d = 50.5
var_e = var_c - var_d
var_f = 3
var_g = 1
var_h = var_f - var_g
var_i = var_e / var_h
print('{:.2f}'.format(round(var_i+1e-10,2)))
Category: Correspondence

Question (EN): Rounding the three-digit number 8A2 to the nearest hundred gives 800. Find the sum of the numbers from 0 to 9 that can be A.
Question (KO): 백의 자리 수가 8이고 일의 자리 수가 2인 세 자리 수를 십의 자리에서 반올림하면 800이 됩니다. 십의 자리 수가 A라고 한다면, 0부터 9까지의 숫자 중 A에 쓸 수 있는 수들의 합을 구하시오.

Answer: 35

Solution (Python):
var_a = 8
var_b = 'A'
var_c = 2
list_a= []
if "/" in str(var_c):
    var_c = eval(str(var_c))
list_a.append(var_c)
if "/" in str(var_b):
    var_b = eval(str(var_b))
list_a.append(var_b)
if "/" in str(var_a):
    var_a = eval(str(var_a))
list_a.append(var_a)
list_a.reverse()
var_d=""
for i in list_a:
    i = str(i)
    var_d = var_d + i
ans_dict = dict()
var_d = str(var_d)
list_b = []
variable_candi = set(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'])
for v in set(var_d):
    if v in variable_candi:
        ans_dict[v] = 0
candi = list(itertools.product('0123456789', repeat=len(ans_dict)))
for c in candi:
    temp = var_d
    for i, (k, _) in enumerate(ans_dict.items()):
        temp = temp.replace(k, str(c[i]))
    if len(var_d) == len(str(int(temp))):
        new_elem = int(temp)
        list_b.append(new_elem)
var_e = 850
list_c = []
for i in list_b:
    if i >= var_e:
        list_c.append(i)
var_f = '8A2'
var_g = 'A'
var_f = str(var_f)
var_g = str(var_g)
unk_idx = var_f.index(var_g)
list_d = []
for elem in list_c:
    elem = str(elem)
    list_d.append(int(elem[unk_idx]))
list_d = list(set(list_d))
list_d = [float(i) for i in list_d]
var_h = sum(list_d)
print(int(var_h))
Category: Correspondence

Question (EN): You are trying to write natural numbers from 1 to 100. How many times should the number 1 be written in all?
Question (KO): 1부터 100까지 자연수를 쓰려고 합니다. 숫자 1은 모두 몇 번 써야 합니까?

Answer: 21

Solution (Python):
var_a = 1
var_b = 100
var_c = 1
list_a = [i for i in range(var_a, var_b + 1, var_c)]
var_d=""
for i in list_a:
    i = str(i)
    var_d = var_d + i
list_b = []
var_d = int(var_d)
while var_d//10 > 0:
    list_b.append(var_d%10)
    var_d = var_d//10
list_b.append(var_d%10)
list_b = list_b[::-1]
var_e = 1
var_f = 0
var_e = int(var_e)
for i in list_b:
    i = int(i)
    if i == var_e:
        var_f = var_f + 1
print(int(var_f))
Category: Geometry

Question (EN): A cube with a side length of 1 meter (m) was cut 3 times each along the horizontal, vertical, and height directions, resulting in 64 small cuboids. What is the sum of the surface areas in square meters (m2) of these small cuboids?
Question (KO): 한 모서리의 길이가 1미터(m)인 정육면체를 가로 방향, 세로 방향, 높이 방향을 따라 각각 3번씩 잘라 나누었더니 64개의 작은 직육면체가 생겼습니다. 이 작은 직육면체들의 겉넓이의 합은 몇 ㎡입니까?

Answer: 24

Solution (Python):
var_a = 1
var_b = 4
var_c = var_a / var_b
var_d = 1
var_e = 4
var_f = var_d / var_e
var_g = var_c * var_f
var_h = 6
var_i = var_g * var_h
var_j = 64
var_k = var_i * var_j
print(int(var_k))
Category: Geometry

Question (EN): Cube is a cube-shaped toy made up of 27 small cubes. If the length of all the edges of the cube is 82.8 centimeters (cm), what is the sum of one edge of the large cube and one edge of the small cube that make up the cube in centimeters (cm)?
Question (KO): 큐브는 27개의 작은 정육면체가 모여 이루어진 정육면체 모양의 장난감입니다. 큐브의 모든 모서리의 길이를 더하면 82.8센티미터(㎝)일 때, 큐브의 한 모서리와 큐브를 이루는 작은 정육면체의 한 모서리의 합은 몇 센티미터(㎝)인지 구하시오.

Answer: 9.2

Solution (Python):
var_a = 82.8
var_b = 4
var_c = 3
var_d = var_b * var_c
var_e = var_a / var_d
var_f = 82.8
var_g = 4
var_h = 3
var_i = var_g * var_h
var_j = var_f / var_i
var_k = 1
var_l = 2
var_m = 3
var_n = var_l / var_m
var_o = var_k - var_n
var_p = var_j * var_o
var_q = var_e + var_p
print('{:.2f}'.format(round(var_q+1e-10,2)))
Category: Possibility

Question (EN): What is the third largest number with the ones digit of 2 using 3 of 4, 8, 1, and 2?
Question (KO): 4, 8, 1, 2 중 3개를 사용하여 일의 자리 숫자가 2인 수 중 세 번째로 큰 수는 무엇입니까?

Answer: 482

Solution (Python):
var_a = 4
var_b = 8
var_c = 1
var_d = 2
list_a= []
if "/" in str(var_d):
    var_d = eval(str(var_d))
list_a.append(var_d)
if "/" in str(var_c):
    var_c = eval(str(var_c))
list_a.append(var_c)
if "/" in str(var_b):
    var_b = eval(str(var_b))
list_a.append(var_b)
if "/" in str(var_a):
    var_a = eval(str(var_a))
list_a.append(var_a)
list_a.reverse()
var_e = 3
list_b = [str(i) for i in list_a]
list_b = list(itertools.permutations(list_b, var_e))
list_b = [''.join(num_list) for num_list in list_b]
list_b = [str_num for str_num in list_b if str_num[0] != '0']
list_b = [float(i) for i in list_b]
var_f = 1
var_g = 2
list_c = [] 
var_f = int(var_f)
var_g = int(var_g)
for i in list_b:
    i = int(i)
    if (i//var_f)%10 == var_g:
        list_c.append(i)
var_h = 3
list_d=list_c.copy()
list_d.sort()
var_i = list_d[-var_h]
print(int(var_i))
Category: Correspondence

Question (EN): A and B are different natural numbers. When A is divided by 17, the quotient is 25 and the remainder is B. Find A when B is the largest number possible.
Question (KO): A, B는 서로 다른 자연수입니다. A를 17로 나누면 몫이 25이며 나머지는 B입니다. B가 될 수 있는 수 중에 가장 큰수 일때 A를 구하세요.

Answer: 441

Solution (Python):
var_a = 17
var_b = 25
var_c = var_a * var_b
var_d = 16
var_e = var_c + var_d
print(int(var_e))
Category: Comparison

Question (EN): Nine students stand in a line. How many students are standing between the 3rd from the left and the 7th from the left?
Question (KO): 학생 9명이 한 줄로 서 있습니다. 왼쪽에서 3번째와 왼쪽에서 7번째 사이에 서 있는 학생은 몇 명입니까?

Answer: 3

Solution (Python):
var_a = 7
var_b = 3
var_c = var_a - var_b
var_d = 1
var_e = var_c - var_d
print(int(var_e))
Category: Arithmetic calculation

Question (EN): The four-digit natural number 5AB0 is divisible by 4 and 5. How many combinations of A and B are possible?
Question (KO): 네 자리 자연수 5AB0는 4로 나누어 떨어지고 5로도 나누어 떨어진다. 가능한 A,B의 조합은 몇 개 인지 구하시오.

Answer: 50

Solution (Python):
var_a = '5AB0'
ans_dict = dict()
var_a = str(var_a)
list_a = []
variable_candi = set(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'])
for v in set(var_a):
    if v in variable_candi:
        ans_dict[v] = 0
candi = list(itertools.product('0123456789', repeat=len(ans_dict)))
for c in candi:
    temp = var_a
    for i, (k, _) in enumerate(ans_dict.items()):
        temp = temp.replace(k, str(c[i]))
    if len(var_a) == len(str(int(temp))):
        new_elem = int(temp)
        list_a.append(new_elem)
var_b = 4
list_b = []
var_b = int(var_b)
for i in list_a:
    i = int(i)
    if i % var_b == 0:
        list_b.append(i)
var_c = 5
list_c = []
var_c = int(var_c)
for i in list_b:
    i = int(i)
    if i % var_c == 0:
        list_c.append(i)
var_d = len(list_c)
print(int(var_d))
Category: Correspondence

Question (EN): Yoongi wants to subtract a two-digit number from a three-digit number. Yoongi has mistaken the unit digit of the two-digit 9 for 6 and changed the three-digit hundreds and ones to make the number 253. If Yoongi's difference is 299, find the two-digit number.
Question (KO): 윤기는 두 자리 수와 세 자리 수의 뺄셈을 하려 합니다. 윤기는 두 자리 수의 일의 자리 숫자 9를 6으로 잘못 보았고, 세 자리 수의 백의 자리 숫자와 일의 자리 숫자를 바꾸어 253이라고 잘못 보았습니다. 윤기가 구한 차는 299 일 때, 두 자리 수를 구하시오.

Answer: 43

Solution (Python):
var_a = 253
var_b = 299
var_c = var_a - var_b
var_d = 6
var_e = 9
var_f = var_d - var_e
var_g = var_c - var_f
print(int(var_g))
Category: Geometry

Question (EN): A square has been made by arranging several rectangular pieces of colored paper of the same size so that there are 8 pieces on each side. If you place more pieces around the perimeter of this square, how many more pieces will you need?
Question (KO): 한 변이 8개가 되도록 크기가 같은 색종이 몇 개를 빈틈없이 늘어놓아 정사각형을 만들었습니다. 이 정사각형의 둘레에 색종이를 더 놓아 한 번 에워싸도록 만들 때, 색종이는 몇 개가 더 필요합니까?

Answer: 36

Solution (Python):
var_a = 8
var_b = 4
var_c = var_a * var_b
var_d = 4
var_e = var_c + var_d
print(int(var_e))
Category: Possibility

Question (EN): The buttons 7, 6, 2, 0 are colored on the calculator. Find the sum of the third largest three-digit number and the third smallest three-digit number that can be made by using only the number of the colored button once.
Question (KO): 계산기에 7, 6, 2, 0 버튼이 색칠되어 있습니다. 색칠된 버튼의 숫자만 한 번씩 사용하여 만들 수 있는 세 번째 큰 세 자리수와 세 번째 작은 세 자리 수의 합을 구하시오.

Answer: 986

Solution (Python):
var_a = 7
var_b = 6
var_c = 2
var_d = 0
list_a= []
if "/" in str(var_d):
    var_d = eval(str(var_d))
list_a.append(var_d)
if "/" in str(var_c):
    var_c = eval(str(var_c))
list_a.append(var_c)
if "/" in str(var_b):
    var_b = eval(str(var_b))
list_a.append(var_b)
if "/" in str(var_a):
    var_a = eval(str(var_a))
list_a.append(var_a)
list_a.reverse()
var_e = 3
list_b = [str(i) for i in list_a]
list_b = list(itertools.permutations(list_b, var_e))
list_b = [''.join(num_list) for num_list in list_b]
list_b = [str_num for str_num in list_b if str_num[0] != '0']
list_b = [float(i) for i in list_b]
var_f = 3
list_c=list_b.copy()
list_c.sort()
var_g = list_c[-var_f]
var_h = 3
list_d=list_b.copy()
list_d.sort()
var_i = list_d[var_h-1]
var_j = var_g + var_i
print(int(var_j))