philschmid/DMath huggingface dataset:
Category: Arithmetic calculation

Question (EN): There is a doll that is 5 meters (m) long and weighs 29/8 kilograms (kg) and a tree that is 4 meters (m) long and weighs 2.8 kilograms (kg). If you cut the doll and the tree into 2 meters (m) and weigh them together, how many kilograms (kg) do you get?
Question (KO): 길이가 5미터(m), 무게가 29/8킬로그램(㎏)의 인형과 길이가 4미터(m), 무게가 2.8킬로그램(㎏)인 나무가 있다. 인형과 나무를 2미터(m)씩 잘라 함께 무게를 재면 몇 킬로그램(㎏)입니까?

Answer: 2.85

Solution (Python):
var_a = 3.625
var_b = 5
var_c = var_a / var_b
var_d = 2
var_e = var_c * var_d
var_f = 2.8
var_g = 4
var_h = var_f / var_g
var_i = 2
var_j = var_h * var_i
var_k = var_e + var_j
print('{:.2f}'.format(round(var_k+1e-10,2)))
Category: Arithmetic calculation

Question (EN): You want to place 58 fire extinguishers equally spaced on each side of a 191.8-meter (m) hallway. If fire extinguishers are placed at both the beginning and end of the hallway, what is the distance in meters (m) between the fire extinguishers?
Question (KO): 191.8미터(m) 인 복도 양쪽에 같은 간격으로 58개의 소화기를 세우려고 합니다. 복도의 처음과 끝에 모두 소화기를 세웠다면 소화기와 소화기 사이의 거리는 몇 미터(m)입니까?

Answer: 6.85

Solution (Python):
var_a = 191.8
var_b = 58
var_c = 2
var_d = var_b / var_c
var_e = 1
var_f = var_d - var_e
var_g = var_a / var_f
print('{:.2f}'.format(round(var_g+1e-10,2)))
Category: Comparison

Question (EN): We are to plan to divide 1 liter (L) of water into 2 bottles of bottle A and 3 liters (L) of water into 4 bottles of B equally. If each bottle is the same shape and size, which bottle has more water, bottle A or bottle B?
Question (KO): 물 1리터(L)를 병 가 2개에, 물 3리터(L)를 병 나 4개에 남김없이 똑같이 나누어 담으려고 합니다. 각 병은 모양과 크기가 같을 때, 병 가와 병 나 중 어느 병에 물이 더 많을까요?

Answer: B

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 = 1
var_d = 2
var_e = var_c / var_d
var_f = 3
var_g = 4
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_e):
    var_e = eval(str(var_e))
list_b.append(var_e)
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: Correspondence

Question (EN): 2A+B2=89. If A and B are different numbers, what is A-B?
Question (KO): 2A+B2=89입니다. A와 B가 서로 다른 수라면, A-B는 얼마입니까?

Answer: 1

Solution (Python):
var_a = '2A+B2=89'
var_b = 'A'
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]
var_d = '2A+B2=89'
var_e = 'B'
ans_dict = dict()
var_d = var_d.replace('×','*')
var_d = var_d.replace('x','*')
var_d = var_d.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_d):
    if v in variable_candi:
        ans_dict[v] = 1
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]))
    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_d):
        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_f = ans_dict[var_e]
var_g = var_c - var_f
print(int(var_g))
Category: Correspondence

Question (EN): AB19 rounded up to the hundred's place is 7300. What is AB19 rounded down to the tens place?
Question (KO): AB19를 백의 자리까지 올림한 값은 7300입니다. AB19를 버림하여 십의 자리까지 나타낸 값은 무엇입니까?

Answer: 7210

Solution (Python):
var_a = 'AB19'
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 = 7300
var_c = 100
var_d = var_b - var_c
list_b = []
for i in list_a:
    if i > var_d:
        list_b.append(i)
var_e = 7300
list_c = []
for i in list_b:
    if i <= var_e:
        list_c.append(i)
var_f = 'AB19'
var_g = 'A'
var_f = str(var_f)
var_g = str(var_g)
unk_idx = var_f.index(var_g)
var_h = 0
for elem in list_c:
    elem = str(elem)
    var_h = int(elem[unk_idx])
var_i = 1000
var_j = var_h * var_i
var_k = 'AB19'
var_l = 'B'
var_k = str(var_k)
var_l = str(var_l)
unk_idx = var_k.index(var_l)
var_m = 0
for elem in list_c:
    elem = str(elem)
    var_m = int(elem[unk_idx])
var_n = 100
var_o = var_m * var_n
var_p = var_j + var_o
var_q = 19
var_r = var_p + var_q
var_s = 2
var_t=int((var_r//(10**(var_s-1)))*10**(var_s-1))

print(int(var_t))
Category: Arithmetic calculation

Question (EN): There are 28 strawberry-flavored candies and 32 grape-flavored candies. If you give 4 candies of any type to each person, to how many people can you distribute them?
Question (KO): 딸기맛 사탕 28개와 포도맛 사탕 32개가 있습니다. 사탕을 종류에 관계없이 한 명에게 4개씩 주면 몇 명에게 나누어 줄 수 있습니까?

Answer: 15

Solution (Python):
var_a = 28
var_b = 32
var_c = var_a + var_b
var_d = 4
var_e = var_c // var_d
print(int(var_e))
Category: Comparison

Question (EN): Two friends are playing a game where one wins if he draws the bigger number. When Yeseul drew a card with 13/10 written on it, and Youngjun drew a card written as 22/15, who was the winner?
Question (KO): 두 친구가 더 큰 숫자를 뽑으면 이기는 게임을 하고 있습니다. 예슬이는 13/10이 적힌 카드를, 영준이는 22/15가 적힌 카드를 뽑았을 때 누가 이겼습니까?

Answer: Youngjun

Solution (Python):
var_a = 'Yeseul'
var_b = 'Youngjun'
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 = 1.3
var_d = 1.4666666666666666
list_b= []
if "/" in str(var_d):
    var_d = eval(str(var_d))
list_b.append(var_d)
if "/" in str(var_c):
    var_c = eval(str(var_c))
list_b.append(var_c)
list_b.reverse()
var_e = 1
list_c=list_b.copy()
list_c.sort()
var_f = list_c[-var_e]
var_g = list_b.index(var_f)+1
var_h = list_a[var_g-1]
print(var_h)
Category: Geometry

Question (EN): For line segment AB with a length of 12 centimeters (cm), if point M is the midpoint of line segment AB, find the length of line segment AM.
Question (KO): 길이가 12센티미터(㎝)인 선분 AB에 대하여 점 M은 선분 AB의 중점일 때, 선분 AM의 길이를 구하시오.

Answer: 6

Solution (Python):
var_a = 12
var_b = 2
var_c = var_a / var_b
print(int(var_c))
Category: Correspondence

Question (EN): There are three numbers (A), (B), and (C). When (A) is divided by (B), the quotient is divided by 1.2, and when (B) is divided by (C), the quotient is divided by 5/6. If (A) is divided by (C), what is the quotient?
Question (KO): 세 수 (가), (나), (다)가 있다. (가)를 (나)로 나누면 몫이 1.2로 나누어떨어지고, (나)를 (다)로 나누면 몫이 5/6로 나누어떨어진다. (가)를 (다)로 나누면 그 몫은 얼마인가?

Answer: 1

Solution (Python):
var_a = 1.2
var_b = 0.8333333333333334
var_c = var_a * var_b
print(int(var_c))
Category: Comparison

Question (EN): Among the divisors of 72 and 120, you write duplicate numbers on paper in order. What is the 4th largest number?
Question (KO): 72의 약수와 120의 약수들 중 중복되는 수를 골라서 작은 것부터 차례대로 썼습니다. 4번째로 큰 수는 무엇입니까?

Answer: 6

Solution (Python):
var_a = 72
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 = 120
list_b = []
num_sqrt = int(math.sqrt(var_b))
for i in range(1, num_sqrt+1):
    if var_b % i == 0:
        list_b.append(i)
        list_b.append(int(var_b/i))
list_b = sorted(set(list_b))
list_c = list(set(list_a) & set(list_b))
var_c = 4
var_d = '[OP_LIST_MAX'
print(var_d)
Category: Comparison

Question (EN): Students are standing in a line. Yoojung is standing at the head, and Eunji is standing at the tail end. 14 people are standing between Yoojung and Eunji. How many students are in line?
Question (KO): 학생들이 한 줄로 서 있습니다. 유정이는 맨 앞에 서 있고, 은지는 맨 뒤에 서 있습니다. 유정이와 은지 사이에는 14명이 서 있습니다. 줄을 서 있는 학생은 모두 몇 명입니까?

Answer: 16

Solution (Python):
var_a = 1
var_b = 14
var_c = var_a + var_b
var_d = 1
var_e = var_c + var_d
print(int(var_e))
Category: Arithmetic calculation

Question (EN): Among the notebooks Eunji had, she gave half of the remaining 8 to her younger sister, and there were 5 left. How many notebooks did Eunji have at first?
Question (KO): 은지가 가지고 있던 공책 중 언니에게 8권을 남은 것의 반을 동생에게 주었더니 5권이 남았습니다. 처음에 은지가 가지고 있던 공책의 수는 몇 권입니까?

Answer: 18

Solution (Python):
var_a = 5
var_b = 2
var_c = var_a * var_b
var_d = 8
var_e = var_c + var_d
print(int(var_e))
Category: Geometry

Question (EN): A rectangular bulletin board with an area of 6400 square centimeters (cm2) is 160 centimeters (cm) long. How many centimeters (cm) is the width?
Question (KO): 넓이가 6400제곱센티미터(㎠)인 직사각형 모양의 게시판의 세로의 길이는 160센티미터(㎝)입니다. 가로의 길이는 몇 센티미터(㎝)입니까?

Answer: 40

Solution (Python):
var_a = 6400
var_b = 160
var_c = var_a / var_b
print(int(var_c))
Category: Correspondence

Question (EN): Jihoon took half of the marbles that Seohyun had in the game, and Seohyun lost 1/3 of the marbles, leaving her 12 marbles. How many marbles did Seohyun have at first?
Question (KO): 서현이는 가지고 있던 구슬의 절반을 지훈이와의 게임에서 뺐겼고, 나머지의 1/3은 잃어버려서 12개가 남았습니다. 서현이가 처음에 가지고 있던 구슬은 몇 개인가요?

Answer: 36

Solution (Python):
var_a = 12
var_b = 1
var_c = 0.3333333333333333
var_d = var_b - var_c
var_e = var_a / var_d
var_f = 1
var_g = 0.5
var_h = var_f - var_g
var_i = var_e / var_h
print(int(eval('{:.2f}'.format(round(var_i+1e-10,2)))))
Category: Arithmetic calculation

Question (EN): When you write the numbers from 10 to 99 in your notebook, how many times do you write the number 8?
Question (KO): 10부터 99까지 수를 공책에 적을 때, 숫자 8은 모두 몇 번 쓰는지 구하시오.

Answer: 19

Solution (Python):
var_a = 10
var_b = 99
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 = 8
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: Comparison

Question (EN): Nine people stand in a line in order from shortest to tallest. Hoseok is the shortest, and there are 4 people standing between Yuna and Hoseok. If they line up again in order from tallest to shortest, what number will Yuna stand from the front?
Question (KO): 키가 작은 사람부터 순서대로 9명이 한 줄로 서 있습니다. 호석이는 가장 키가 작고, 유나와 호석이 사이에는 4명이 서 있습니다. 키가 큰 사람부터 순서대로 다시 줄을 서면 유나는 앞에서부터 몇 번째에 서게 됩니까?

Answer: 4

Solution (Python):
var_a = 9
var_b = 1
var_c = var_a - var_b
var_d = 4
var_e = var_c - var_d
var_f = 1
var_g = var_e - var_f
var_h = 1
var_i = var_g + var_h
print(int(var_i))
Category: Comparison

Question (EN): There are a total of 531 third and fourth graders attending an elementary school in Seoul. There are 31 more 4th graders than 3rd graders, and 22 fewer 3rd grade girls than 3rd grade boys. Among the boys attending this school, find how many are in the third grade.
Question (KO): 서울의 한 초등학교에 다니는 3학년과 4학년 학생은 총 531명 입니다. 4학년은 3학년보다 31명 더 많고, 3학년 여학생은 3학년 남학생보다 22명 적습니다. 이 학교에 다니는 남학생 중, 3학년은 몇 명인지 구하시오.

Answer: 136

Solution (Python):
var_a = 531
var_b = 31
var_c = var_a - var_b
var_d = 2
var_e = var_c / var_d
var_f = 22
var_g = var_e - var_f
var_h = 2
var_i = var_g / var_h
var_j = 22
var_k = var_i + var_j
print(int(var_k))
Category: Arithmetic calculation

Question (EN): You want to place 6 flagpoles at regular intervals on a straight line that is 11.5 meters (m) long. How many meters (m) should be the distance between flagpoles?
Question (KO): 길이가 11.5미터(m) 인 직선 거리 위에 6 개의 깃대를 일정한 간격으로 꽂으려고 합니다. 깃대와 깃대 사이의 거리는 몇 미터(m)로 해야 합니까?

Answer: 2.3

Solution (Python):
var_a = 11.5
var_b = 6
var_c = 1
var_d = var_b - var_c
var_e = var_a / var_d
print('{:.2f}'.format(round(var_e+1e-10,2)))
Category: Correspondence

Question (EN): There is a three-digit number whose sum of each digit is 9 and is divisible by 5. How many of these three-digit numbers are there?
Question (KO): 어떤 세 자리 수가 있는데 각 자리 수들의 합은 9이고, 이 세 자리 수는 5로 나누어떨어집니다. 이러한 세 자리 수는 모두 몇 개 있습니까?

Answer: 13

Solution (Python):
var_a = 100
var_b = 1000
var_c = 1
var_d = var_b - var_c
var_e = 1
list_a = [i for i in range(var_a, var_d + 1, var_e)]
var_f = 5
list_b = []
var_f = int(var_f)
for i in list_a:
    i = int(i)
    if i % var_f == 0:
        list_b.append(i)
list_c=[]
for i in list_b:
    var_g = 0
    i = int(i)
    while i//10 > 0:
        var_g = var_g + i%10
        i = i//10
    var_g = var_g + i%10
    list_c.append(var_g)
var_h = 9
var_i = 0
var_h = int(var_h)
for i in list_c:
    i = int(i)
    if i == var_h:
        var_i = var_i + 1
print(int(var_i))
Category: Possibility

Question (EN): How many three-digit integers can be made by drawing 3 out of 4 cards with the numbers 0, 4, 5, and 7 written on them?
Question (KO): 0, 4, 5, 7의 숫자가 각각 적힌 4장의 카드 중에서 3장을 뽑아 만들 수 있는 세 자리 정수의 개수는?

Answer: 18

Solution (Python):
var_a = 4
var_b = 3
var_c = 1
var_a = int(var_a)
var_b = int(var_b)
for i, elem in enumerate(range(var_b)):
    var_c = var_c * (var_a-i)
var_d = 3
var_e = 3
var_f = 1
var_d = int(var_d)
var_e = int(var_e)
for i, elem in enumerate(range(var_e)):
    var_f = var_f * (var_d-i)
var_g = var_c - var_f
print(int(var_g))
Category: Correspondence

Question (EN): When a natural number A is divided by a natural number B, the quotient is 28 and the remainder is 4. Find the smallest A among all possible numbers that can be A.
Question (KO): 자연수 A를 자연수 B로 나누면 몫이 28이고 나머지가 4입니다. A가 될 수 있는 숫자중에 가장 작은 A를 구하시오.

Answer: 144

Solution (Python):
var_a = 5
var_b = 28
var_c = var_a * var_b
var_d = 4
var_e = var_c + var_d
print(int(var_e))
Category: Correspondence

Question (EN): There is a number that is greater than 50 and less than 70. This number has a remainder of 3 when divided by 5 and a remainder of 2 when divided by 7. What is this number?
Question (KO): 어떤 수는 50보다 크고 70보다 작습니다. 또한 이 수는 5로 나누었을 때 나머지가 3이고 7로 나누었을 때 나머지가 2입니다. 이 수는 무엇입니까?

Answer: 58

Solution (Python):
var_a = 50
var_b = 70
var_c = 1
var_d = var_b - var_c
var_e = 1
list_a = [i for i in range(var_a, var_d + 1, var_e)]
var_f = 5
var_g = 3
list_b = [] 
var_f = int(var_f)
var_g = int(var_g)
if var_g < 0:
    var_g = var_g + var_f
for i in list_a:
    i = int(i)
    if i%var_f == var_g:
        list_b.append(i)
var_h = 7
var_i = 2
list_c = [] 
var_h = int(var_h)
var_i = int(var_i)
if var_i < 0:
    var_i = var_i + var_h
for i in list_b:
    i = int(i)
    if i%var_h == var_i:
        list_c.append(i)
var_j = 1
var_k = list_c[var_j-1]
print(int(var_k))
Category: Arithmetic calculation

Question (EN): A frog takes 5/18 minutes to jump 7/12 centimeters (cm). How many centimeters (cm) can this frog travel in 7 minutes if it runs at the same speed?
Question (KO): 어느 개구리는 7/12센티미터(㎝)를 뛰는 데 5/18분이 걸립니다. 이 개구리가 같은 빠르기로 뛴다면 7분 동안 갈 수 있는 거리는 몇 센티미터(㎝)인가요?

Answer: 14.7

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

Question (EN): There are 5 different interviewers. Find the number of cases in which two of them pass.
Question (KO): 5명의 서로 다른 면접자가 있다. 이 때, 이 중 2명을 합격시켜주는 경우의 수를 구하시오.

Answer: 10

Solution (Python):
var_a = 5
var_b = 2
var_c = 1
var_a = int(var_a)
var_b = int(var_b)
for i, elem in enumerate(range(var_b)):
    var_c = var_c * (var_a-i)
for i, elem in enumerate(range(var_b)):
    var_c = var_c / (i+1)
print(int(var_c))
Category: Comparison

Question (EN): Among the five numbers 1.4, 9/10, 1.2, 0.5, 13/10, which number is at the very front, when numbers greater than or equal to 1.1 are picked up to be lined up in order from the smallest?
Question (KO): 1.4, 9/10, 1.2, 0.5, 13/10 5개 숫자 중에서 1.1보다 크거나 같은 숫자를 골라 작거나 같은 순서대로 나열했을 때, 가장 앞에 있는 숫자는 무엇입니까?

Answer: 1.2

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-1]
print('{:.2f}'.format(round(var_h+1e-10,2)))
Category: Comparison

Question (EN): Taehyung read 32 pages of fairy tales yesterday, and today he read 13 fewer pages than yesterday. Namjoon read 25 pages of fairy tales yesterday, and today he read 14 more pages than yesterday. Who read more fairy tales yesterday and today combined?
Question (KO): 태형이는 동화책을 어제는 32쪽 읽었고, 오늘은 어제보다 13쪽 더 적게 읽었습니다. 남준이는 동화책을 어제는 25쪽 읽었고, 오늘은 어제보다 14쪽 더 많이 읽었습니다. 어제와 오늘 합해서 동화책을 더 많이 읽은 사람은 누구입니까?

Answer: Namjoon

Solution (Python):
var_a = 'Taehyung'
var_b = 'Namjoon'
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 = 32
var_d = 13
var_e = var_c - var_d
var_f = 32
var_g = var_e + var_f
var_h = 25
var_i = 14
var_j = var_h + var_i
var_k = 25
var_l = var_j + var_k
list_b= []
if "/" in str(var_l):
    var_l = eval(str(var_l))
list_b.append(var_l)
if "/" in str(var_g):
    var_g = eval(str(var_g))
list_b.append(var_g)
list_b.reverse()
var_m = 1
list_c=list_b.copy()
list_c.sort()
var_n = list_c[-var_m]
var_o = list_b.index(var_n)+1
var_p = list_a[var_o-1]
print(var_p)
Category: Arithmetic calculation

Question (EN): Jae-woong and Dong-hun started at the same place in opposite directions on a kickboard on a 3-kilometer (km)-long playground. If Jaewoong rides a kickboard at a speed of 100 meters (m) per minute and Donghun rides a kickboard at a speed of 150 meters (m) per minute, find out how many minutes later they will meet again for the first time.
Question (KO): 길이가 3킬로미터(㎞)인 운동장을 재웅이와 동훈이가 킥보드를 타고 같은 곳에서 서로 반대 방향으로 동시에 출발하였다. 재웅이는 매분 100미터(m)의 속력으로, 동훈이는 매분 150미터(m)의 속력으로 킥보드를 탄다면 몇 분 후에 처음으로 다시 만나는지 구하여라

Answer: 12

Solution (Python):
var_a = 3
var_b = 100
var_c = 1000
var_d = var_b / var_c
var_e = 150
var_f = 1000
var_g = var_e / var_f
var_h = var_d + var_g
var_i = var_a / var_h
print(int(var_i))
Category: Possibility

Question (EN): If the number of ways to get from point A to point B is 3 and from point B to point C is 4, find how many possible ways are there to get from point A to point C via point B.
Question (KO): A지점에서 B지점까지 가는 방법의 수가 3가지이고, B지점에서 C지점까지 가는 방법의 수가 4가지일 때, A지점에서 B지점을 거쳐 C지점으로 가는 방법의 수를 구하시오.

Answer: 12

Solution (Python):
var_a = 3
var_b = 4
var_c = var_a * var_b
print(int(var_c))
Category: Geometry

Question (EN): When square-shaped tiles were laid in order to form a large square, 36 tiles were not used. I increased the width and length of the large square by one line each, and there were still 3 residual tiles left. How many tiles did I have?
Question (KO): 정사각형 모양의 타일을 빈틈없이 늘어놓아 큰 정사각형을 만들고 보니 36장이 남았습니다. 가로 한 변과 세로 한 변을 1열씩 늘렸더니 아직도 3장의 타일이 남았습니다. 타일은 모두 몇 장입니까?

Answer: 292

Solution (Python):
var_a = 36
var_b = 3
var_c = var_a - var_b
var_d = 1
var_e = var_c - var_d
var_f = 2
var_g = var_e / var_f
var_h = 2
var_i = var_g ** var_h
var_j = 36
var_k = var_i + var_j
print(int(var_k))
Category: Possibility

Question (EN): You want to create a three-digit number using each 0, 2, 4, and 6 only once. Find the product of the largest possible number and the smallest possible number.
Question (KO): 0, 2, 4, 6에 한 번만 사용하여 세 자리 숫자를 만들려고 합니다. 가능한 가장 큰 수와 가장 작은 수의 곱을 찾으십시오.

Answer: 130968

Solution (Python):
var_a = 0
var_b = 2
var_c = 4
var_d = 6
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
list_c=list_b.copy()
list_c.sort()
var_g = list_c[-var_f]
var_h = 1
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))
Category: Geometry

Question (EN): If the area of a triangle when halved is in 7 square centimeters (cm2), what is the area before halving?
Question (KO): 삼각형을 이등분 했을 때의 넓이가 제곱센티미터(㎠)라면, 이등분 하기 전의 넓이는 얼마입니까?

Answer: 14

Solution (Python):
var_a = 7
var_b = 2
var_c = var_a * var_b
print(int(var_c))
Category: Comparison

Question (EN): The number of flowers planted in each column is the same. When a rose is planted in the 9th column from the left, the 7th row from the front, the 16th row from the back, and the 13th column from the right, how many flowers are planted?
Question (KO): 각 열마다 심어져 있는 꽃의 수는 같습니다. 장미는 왼쪽에서 9번째 열, 앞에서 7번째 줄, 뒤에서 16번째 줄, 오른쪽에서 13번째 열에 심어져 있을때 심어져 있는 꽃은 모두 몇 송이입니까?

Answer: 462

Solution (Python):
var_a = 7
var_b = 16
var_c = var_a + var_b
var_d = 1
var_e = var_c - var_d
var_f = 9
var_g = 13
var_h = var_f + var_g
var_i = 1
var_j = var_h - var_i
var_k = var_e * var_j
print(int(var_k))