어제 저를 멘붕시킨 초등 수학문제

방정식, 최대최소, 일차함수 그래프 등등 이용하면 안 돼요. 오학년 문제라서.

8300 원을 모두 써서 800원짜리 사과와 900 원짜리 배를 최대한 많아 사려고 합니다. 가각 몇 개식 살 수 있숩니까?

친구가 보내준 문젠제 오학년 전과를 버려서 ;저걸 어떻게 초등 오학년식으로 설명해줄지 모르겠대요.
저는 800 과 900 의 배수로. 더해서 끝자리 300 이 나오는 순서쌍을 만든 뒤에 골라보라고 했는데 친구가 어떻게 해결봤는지 모르겠고, 친구는 단지 저를 괴롭히려고 보낸 혐의가 짙고 뭐 이렇습니다.
이런 거 보면 고민하느라 잠 설치는 성격인 거 아니까요.

오학년 과정에 뭐가 나오는지 모르니 질문이 좀 이상합니다만, 어떻게 설명하시겠어요? 답이 아니라 풀이 과정이 중요합니다.
    • 우와 전엔 초딩은 일차방정식도 모르는데 저걸 어떻게 이해할 수 있을까요.
    • 이건 걍 수동으로 하나씩 생각해 보면 혼나는 건거요? ㅋㅋㅋㅋ
      답이 금방 나올거 같은데
    • 초등학교 5학년 때 쯤이면 산가지를 쓰거나 하지 않나요?
      5학년의 저라면 적절하게 사과와 배의 수를 1대 1로 늘려서 가격을 계산한다음, 배에서 하나 빼서 사과에 하나 넣고 이런 식으로 풀겠어요.
    • 초등 수준에서 부정방정식의 해법은 결국 순서쌍 일일이 만드는 방법 밖에 없을 것 같습니다.. 우선 가격이 900원인 배를 기준으로 배를 1개 사면 사과 9개.. 배를 2개 사면 사과 8개.. 이런 식으로 모든 순서쌍을 구한 다음, 최대값이 나오는 경우를 찾으면 되겠네요..
    • 하나씩 해보는거 아닐까요?. 800원 몇개와 900원 몇개를 더해서 8300원이 나오려면 900원짜리는 홀수개를 구입해야 하는 제약 조건을 두면 좀 더 빨라지겠죠.
    • 방정식, 최대최소, 일차함수로 푸는 방법도 모르겠다는게 일단 좌절이고요..

      저라면 이렇게 풀고 아님 말고~ 했을듯 해요.

      일단 최대한 많이 사려면 싼 걸 많이 사야함. 그러니까 일단 사과를 최대한 많이 삼.
      사과 10개 -> 잔돈 300원 -> 배 못삼 -> 답 아님
      사과 9개 -> 잔돈 1100원 -> 배 1개 -> 잔돈 200원 남음 -> 답 아님
      사과 8개 -> 잔돈 1900원 -> 배 2개 -> 잔돈 100원 남음 -> 답 아님
      사과 7개 -> 잔돈 2700원 -> 배 3개 -> 잔돈 없음 -> 답인가??
    • 이건 경우의 수를 다 따져야죠. 배낭 알고리즘 문제입니다. 어떤 알고리즘을 쓰면 가장 빠르게 답을 얻을 수 있을 것인가만 설명하면 되죠.
      그러나 이건 쪼갤 수 없는 NP-완전 문제에 속하므로 결국 경우의 수를 다 따져봐야 합니다.
      합한 개수가 최대만 되면 된다면 사과로 모두 채우고 하나씩 비워 가면서 배를 채워 넣는 게 빠르겠죠.

      배 9개
      사과 0개
      나머지 200원

      배 8개
      사과 1개
      나머지 300원

      배 7개
      사과 2개
      나머지 400원

      배 6개
      사과 3개
      나머지 500원

      배 5개
      사과 4개
      나머지 600원

      배 4개
      사과 5개
      나머지 700원

      배 3개
      사과 7개
      나머지 0원

      배 2개
      사과 8개
      나머지 100원

      배 1개
      사과 9개
      나머지 200원

      배 0개
      사과 10개
      나머지 300원
      • '배낭 알고리즘'과 'NP-완전 문제'가 무슨 뜻인지 궁금해요.
        • 대표적인 알고리즘입니다.

          가령 31kg까지 담을 수 있는 가방에 금덩어리 7kg 5kg 3kg 을 몇개씩 담아야 최대한 많은 양을 담아서 갈 수 있느냐는 식의 형태가 대표적이라서 그런 이름이 붙었습니다.

          짐을 나눌 수 있는 경우는 (즉, 소숫점으로 무게를 나눌 수 있다면) 그리디 알고리즘으로 O(nlogn) 이던가..? 정도 시간에 풀 수 있고 나눌 수 없으면 다항시간 내에 풀 수 없습니다.(NP-완전)
    • 음 역시 순서쌍인가요,

      댓글 읽다가 합이 열 개라는 걸 어떻게 도출한 건지 궁금해졌어요.ㅠㅠ
      • Knapsack problem 에 NP-완전 문제이므로 모든 순서쌍을 구하기 위한 dynamic solution을 사용해야 합니다.. 라고 초등 5학년이 답변하면 선생님이 멘붕이겠..죠...?
        • 선생님 깜놀할 듯 ㅋㅋㅋ
    • 각각의 경우에서 최대한 사고, 잔액이 없는 경우를 찾아야겠죠.
      사과=0, 배=9, 200원 남음
      사과=1, 배=8, 300원 남음
      사과=2, 배=7, 400원 남음
      사과=3, 배=6, 500원 남음
      사과=4, 배=5, 600원 남음
      사과=5, 배=4, 700원 남음
      사과=6, 배=3, 800원 남음
      사과=7, 배=3, 잔액 없음
      답: 사과7, 배 3

      써넣고 보니 mad hatter님이 쓴 것과 같군요.
    • 엑스는 영에서 구, 와이는 영에서 십으로 영역을 잡고 일차 함수를 만들어서 와이값이 가장 커지는 거ㅡ 라고 얼핏 생각했는데 어제 자면서 생각해 보니 와이 최대값을 구하는 문제도 아니고 총액을 맞춰야 하고 엑스와 와이가 자연수여야 하므로 틀렸어<- 이러면서 잠 설쳤어요.
      • 저는 합쳐서 끝자리 3 이 나오는 8과 9의 배수 순써상을 잡고 소거했죠.

        친구는 그냥 하나씩 예를 들어줬다는데 그게 분명 오학년 방법은 아닐거다 라고 합니다. 어느 쯤 과정인지는 본인도 잘 몰라요--;
    • ㅋㅋㅋ 5학년 8단원에 나오는 문제해결방법찾기에 나오는 문제일거예요
      초등학교때 많이 해본 표 그려서 사과가 1개일때,2개일때, 배가 한개일때,2개일때...이렇게 풀면 되요
      이때 꼭 표를 그려야 합니다. ㅎㅎ
      mad hatter님 말씀대로 하시면 되요

      제가 아이 풀어줄때 3학년문제를 일차방정식으로 풀다 놀래서 그 다음부터는 아이 교과서로 같이 풀죠.
      어차피 교과서에 유형이 다 나오니까.

      방정식이나 경우의수는 6학년때 배워요.
    • 배가 100원 더 비싸니까... 800원 x 10개 + 300원 인걸로 생각하면, 직관적으로 배를 3개 사면 딱 떨어지겠구나 생각할 수 있어요.
      그러니까 배 3개, 사과 7개.
    • 그리디 알고리즘을 써 봅니다.

      사과 + 배 = 1700원 을 하나의 부분 해 a로 봅니다. 여기에서 총액의 나머지는 사과의 n 배수로 채웁니다. 여기서 필요한 조건은 "사과나 배는 꼭 하나는 반드시 사야한다." 입니다.

      1. a + 8사과 나머지 200원
      2. 2a + 6사과 나머지 100원
      3. 3a + 4사과 나머지 0원 --> 배3개 사과 7개 나머지 0원 으로 답
      4. 4a + 1사과 나머지 700원

      3번만에 풀었습니다.
      • 제가 이야기한 해법의 공식 명칭이 그리디 알고리즘이군요. 역시 수학이란, 해법 형태에도 다 이름이 붙어있군요.
    • 문제수준이 일종의 반칙 같은데요
      8a+9b=83(단위100원, a는 사과갯수, b는 배갯수)
      (a+b)=(83-b)/8 =>자연수 a+b를 최대로 하는 자연수 b를 찾으면 됨
      83-b가 8의 배수이어야 하므로 b=3 따라서 a=7이 나오는데
      6학년 수준으로 해야 맞을 것 같습니다

      경우의 수를 따진다면 거스름돈이 없는 경우의 수를 모두 구하고
      빠진 경우가 없다는 것을 증명한 후 최대갯수의 케이스를 답으로 작성해야
      감점이 없을 것 같군요(대학수학의 경우라면)
    • 제 전공분야가 아니라서 잘은 모릅니다만, Knapsack problem 은 주어진 돈을 남김없이 다 써야 한다는 조건이 *없을* 경우일텐데... 원글의 문제는 돈을 다 써야 한다고 했으니 그냥 정수해를 구하는 문제이죠.
      그리고 댓글 중에 '쪼갤 수 있는 경우는 그리디 알고리즘'을 써야 한다고 하시고선, 원글의 문제는 쪼갤 수 없는 경우인데 그리디 알고리즘을 쓰셨네요. 그리고 "사과나 배는 꼭 하나는 반드시 사야한다" 는 조건은 어디서 나온건지 모르겠군요.
      • 돈을 다 써야 한다고 해도 결국은 최적값을 구하는 문제죠. 나머지가 최소가 되도록 이라는 조건이고 최소는 결국 0원이니까요.

        쪼갤 수 없는데 그리디 알고리즘을 썼기 때문에 운이 좋은 경우가 아니면 사용할 수 없습니다. 즉, 저 배의 값이나 사과의 값이 다른 숫자로 변하면 최적의 해를 구할 수 없는 경우가 생깁니다.

        위에 제가 제일 처음 쓴 해법도 사실은 그리디 알고리즘이죠. 비싼 배를 먼저 산 다음 하나씩 버리고 나머지를 사과로 대체했으니까요. 두번째는 단지 하나는 꼭 사야한다는 조건을 붙여서 부분해의 범위를 넓힌 겁니다. 돈을 다 쓴다는 조건이 있다면 이미 사과나 배가 한개씩은 필요 (9나 8의 배수 중 83은 없으므로) 하다고 볼 수 있으니까요.

        아, 그리고 그리디 알고리즘이나 Knapsack problem 을 언급한 건 답이 정해져 있어서가 아니라 답을 어떻게 빨리 찾느냐를 설명하기 위한 것입니다. 모든 경우를 다 구하거나 조합을 구해도 답은 나오는데, 그 답을 좀 더 빨리 구하는 방식이 알고리즘이라는 거죠.
        • 여기부터 못 알아들어서 검색질 중....이지만 역시 못 알아먹고 있어요. 전 문과.
    • 우왕 mad hatter님 수학 잘하는 사람 멋쪄요+_+/방정식이 6학년 때 벌써 나오는군요 헐;;
    • 죄송합니다 헤어지겠습니다
    • 보석상이 100만원 손해네요.
    • 수정을 누른다는 것이 삭제를 눌러서 본의아니게 댓글 밑장을 뺐네요 픙
    • 배-100원 : 800원

      사과:800원

      8300/800=10+300

      나머지 300원으로 배에서 빼주었던 100원이 3번 충당가능



      고로 사과7 배3 요렇게.. 야매입니다만
    • 미드 넘버스를 실시간으로 보는 기분입니다.

게시판 2012

번호 제목 글쓴이 조회 날짜
[공지] 게시판 규칙, FAQ, 기타등등 462,407 01-31
[공지] 게시판 관리 원칙. 147,940 12-31
제 트위터 부계입니다. 3 122,151 04-01
130354 새해복 많이 받으세요 10 187 12-31
130353 아바타 3를 보고 유스포 2 192 12-31
130352 [핵바낭] 올해 잉여질 결산 잡담 14 334 12-31
130351 아바타: 불 과 재 보고 왔어요 짤막 소감 6 229 12-31
130350 [영화강추] '척의 일생' 8 249 12-31
130349 흑백요리사 2 8~10회, 싱어게인 4 탑 4 결정 6 285 12-31
130348 Lacombe Lucien(1974) 7 131 12-31
130347 [관리] 25년도 보고 및 신고 관련 정보. 15 324 12-31
130346 Isiah Whitlock Jr. 1954 - 2025 R.I.P. 2 138 12-31
130345 [왓챠바낭] 우편배달부 말고 '포스트맨은 벨을 두번 울린다' 잡담입니다 12 268 12-31
130344 [넷플] 말 많고 탈 많은 '대홍수' 드디어 봤습니다 14 453 12-30
130343 [반말주의] 다들 올해 고생 많았어!! 새해 모두 건강하고 복 터지길 바래!! 12 186 12-30