✍️ 연플래닝 오리지널 — 「아하! 보이는 직관수학」 자체 제작. 모든 문제·정답 손검산 완료. 답안을 제출해야 해설·정답이 열립니다(먼저 스스로 풀어 보세요).
💬 더 필요한 게 있나요?
난이도 조절(더 쉽게 / 더 어렵게) · 다른 유형 · 특정 개념 집중 · 문항 수 등 무엇이든 적어 주세요. 선생님이 확인합니다. (공개 아님)
✏️ 손으로 풀어보세요
`; return s;
}
const P=[
{ tier:'기초', type:'self', kind:'num',
q:'12 의 약수는 모두 몇 개일까요?',
fig:null,
answer:6,
hint:'12 를 나누어떨어지게 하는 수를 1부터 차례로 찾아보세요.',
sol:{ ans:'6개 (1, 2, 3, 4, 6, 12)', fig:null,
steps:['12 를 나누어떨어지게 하는 수: 1, 2, 3, 4, 6, 12.','모두 6개.','약수는 짝을 지어 찾으면 빨라요 (1과 12, 2와 6 …).']}},
{ tier:'기초', type:'self', kind:'num',
q:'18 의 약수는 모두 몇 개일까요?',
fig:null,
answer:6,
hint:'18 를 나누어떨어지게 하는 수를 1부터 차례로 찾아보세요.',
sol:{ ans:'6개 (1, 2, 3, 6, 9, 18)', fig:null,
steps:['18 를 나누어떨어지게 하는 수: 1, 2, 3, 6, 9, 18.','모두 6개.','약수는 짝을 지어 찾으면 빨라요 (1과 18, 2와 9 …).']}},
{ tier:'기초', type:'self', kind:'num',
q:'20 의 약수는 모두 몇 개일까요?',
fig:null,
answer:6,
hint:'20 를 나누어떨어지게 하는 수를 1부터 차례로 찾아보세요.',
sol:{ ans:'6개 (1, 2, 4, 5, 10, 20)', fig:null,
steps:['20 를 나누어떨어지게 하는 수: 1, 2, 4, 5, 10, 20.','모두 6개.','약수는 짝을 지어 찾으면 빨라요 (1과 20, 2와 10 …).']}},
{ tier:'기초', type:'self', kind:'num',
q:'24 의 약수는 모두 몇 개일까요?',
fig:null,
answer:8,
hint:'24 를 나누어떨어지게 하는 수를 1부터 차례로 찾아보세요.',
sol:{ ans:'8개 (1, 2, 3, 4, 6, 8, 12, 24)', fig:null,
steps:['24 를 나누어떨어지게 하는 수: 1, 2, 3, 4, 6, 8, 12, 24.','모두 8개.','약수는 짝을 지어 찾으면 빨라요 (1과 24, 2와 12 …).']}},
{ tier:'기초', type:'self', kind:'num',
q:'30 의 약수는 모두 몇 개일까요?',
fig:null,
answer:8,
hint:'30 를 나누어떨어지게 하는 수를 1부터 차례로 찾아보세요.',
sol:{ ans:'8개 (1, 2, 3, 5, 6, 10, 15, 30)', fig:null,
steps:['30 를 나누어떨어지게 하는 수: 1, 2, 3, 5, 6, 10, 15, 30.','모두 8개.','약수는 짝을 지어 찾으면 빨라요 (1과 30, 2와 15 …).']}},
{ tier:'기초', type:'self', kind:'num',
q:'16 의 약수는 모두 몇 개일까요?',
fig:null,
answer:5,
hint:'16 를 나누어떨어지게 하는 수를 1부터 차례로 찾아보세요.',
sol:{ ans:'5개 (1, 2, 4, 8, 16)', fig:null,
steps:['16 를 나누어떨어지게 하는 수: 1, 2, 4, 8, 16.','모두 5개.','약수는 짝을 지어 찾으면 빨라요 (1과 16, 2와 8 …).']}},
{ tier:'기초', type:'self', kind:'num',
q:'28 의 약수는 모두 몇 개일까요?',
fig:null,
answer:6,
hint:'28 를 나누어떨어지게 하는 수를 1부터 차례로 찾아보세요.',
sol:{ ans:'6개 (1, 2, 4, 7, 14, 28)', fig:null,
steps:['28 를 나누어떨어지게 하는 수: 1, 2, 4, 7, 14, 28.','모두 6개.','약수는 짝을 지어 찾으면 빨라요 (1과 28, 2와 14 …).']}},
{ tier:'기초', type:'self', kind:'num',
q:'36 의 약수는 모두 몇 개일까요?',
fig:null,
answer:9,
hint:'36 를 나누어떨어지게 하는 수를 1부터 차례로 찾아보세요.',
sol:{ ans:'9개 (1, 2, 3, 4, 6, 9, 12, 18, 36)', fig:null,
steps:['36 를 나누어떨어지게 하는 수: 1, 2, 3, 4, 6, 9, 12, 18, 36.','모두 9개.','약수는 짝을 지어 찾으면 빨라요 (1과 36, 2와 18 …).']}},
{ tier:'기초', type:'self', kind:'num',
q:'45 의 약수는 모두 몇 개일까요?',
fig:null,
answer:6,
hint:'45 를 나누어떨어지게 하는 수를 1부터 차례로 찾아보세요.',
sol:{ ans:'6개 (1, 3, 5, 9, 15, 45)', fig:null,
steps:['45 를 나누어떨어지게 하는 수: 1, 3, 5, 9, 15, 45.','모두 6개.','약수는 짝을 지어 찾으면 빨라요 (1과 45, 2와 45 …).']}},
{ tier:'기초', type:'self', kind:'num',
q:'50 의 약수는 모두 몇 개일까요?',
fig:null,
answer:6,
hint:'50 를 나누어떨어지게 하는 수를 1부터 차례로 찾아보세요.',
sol:{ ans:'6개 (1, 2, 5, 10, 25, 50)', fig:null,
steps:['50 를 나누어떨어지게 하는 수: 1, 2, 5, 10, 25, 50.','모두 6개.','약수는 짝을 지어 찾으면 빨라요 (1과 50, 2와 25 …).']}},
{ tier:'중급', type:'self', kind:'num',
q:'4 와 6 의 최대공약수는?',
fig:null,
answer:2,
hint:'두 수를 모두 나누어떨어지게 하는 수 중 가장 큰 것이에요.',
sol:{ ans:'2', fig:null,
steps:['4 의 약수: 1, 2, 4','6 의 약수: 1, 2, 3, 6','공통인 것 중 가장 큰 수 = 2.']}},
{ tier:'중급', type:'self', kind:'num',
q:'6 와 9 의 최대공약수는?',
fig:null,
answer:3,
hint:'두 수를 모두 나누어떨어지게 하는 수 중 가장 큰 것이에요.',
sol:{ ans:'3', fig:null,
steps:['6 의 약수: 1, 2, 3, 6','9 의 약수: 1, 3, 9','공통인 것 중 가장 큰 수 = 3.']}},
{ tier:'중급', type:'self', kind:'num',
q:'8 와 12 의 최대공약수는?',
fig:null,
answer:4,
hint:'두 수를 모두 나누어떨어지게 하는 수 중 가장 큰 것이에요.',
sol:{ ans:'4', fig:null,
steps:['8 의 약수: 1, 2, 4, 8','12 의 약수: 1, 2, 3, 4, 6, 12','공통인 것 중 가장 큰 수 = 4.']}},
{ tier:'중급', type:'self', kind:'num',
q:'10 와 15 의 최대공약수는?',
fig:null,
answer:5,
hint:'두 수를 모두 나누어떨어지게 하는 수 중 가장 큰 것이에요.',
sol:{ ans:'5', fig:null,
steps:['10 의 약수: 1, 2, 5, 10','15 의 약수: 1, 3, 5, 15','공통인 것 중 가장 큰 수 = 5.']}},
{ tier:'중급', type:'self', kind:'num',
q:'12 와 18 의 최대공약수는?',
fig:null,
answer:6,
hint:'두 수를 모두 나누어떨어지게 하는 수 중 가장 큰 것이에요.',
sol:{ ans:'6', fig:null,
steps:['12 의 약수: 1, 2, 3, 4, 6, 12','18 의 약수: 1, 2, 3, 6, 9, 18','공통인 것 중 가장 큰 수 = 6.']}},
{ tier:'중급', type:'self', kind:'num',
q:'9 와 15 의 최대공약수는?',
fig:null,
answer:3,
hint:'두 수를 모두 나누어떨어지게 하는 수 중 가장 큰 것이에요.',
sol:{ ans:'3', fig:null,
steps:['9 의 약수: 1, 3, 9','15 의 약수: 1, 3, 5, 15','공통인 것 중 가장 큰 수 = 3.']}},
{ tier:'중급', type:'self', kind:'num',
q:'14 와 21 의 최대공약수는?',
fig:null,
answer:7,
hint:'두 수를 모두 나누어떨어지게 하는 수 중 가장 큰 것이에요.',
sol:{ ans:'7', fig:null,
steps:['14 의 약수: 1, 2, 7, 14','21 의 약수: 1, 3, 7, 21','공통인 것 중 가장 큰 수 = 7.']}},
{ tier:'중급', type:'self', kind:'num',
q:'16 와 24 의 최대공약수는?',
fig:null,
answer:8,
hint:'두 수를 모두 나누어떨어지게 하는 수 중 가장 큰 것이에요.',
sol:{ ans:'8', fig:null,
steps:['16 의 약수: 1, 2, 4, 8, 16','24 의 약수: 1, 2, 3, 4, 6, 8, 12, 24','공통인 것 중 가장 큰 수 = 8.']}},
{ tier:'중급', type:'self', kind:'num',
q:'20 와 30 의 최대공약수는?',
fig:null,
answer:10,
hint:'두 수를 모두 나누어떨어지게 하는 수 중 가장 큰 것이에요.',
sol:{ ans:'10', fig:null,
steps:['20 의 약수: 1, 2, 4, 5, 10, 20','30 의 약수: 1, 2, 3, 5, 6, 10, 15, 30','공통인 것 중 가장 큰 수 = 10.']}},
{ tier:'중급', type:'self', kind:'num',
q:'18 와 27 의 최대공약수는?',
fig:null,
answer:9,
hint:'두 수를 모두 나누어떨어지게 하는 수 중 가장 큰 것이에요.',
sol:{ ans:'9', fig:null,
steps:['18 의 약수: 1, 2, 3, 6, 9, 18','27 의 약수: 1, 3, 9, 27','공통인 것 중 가장 큰 수 = 9.']}},
{ tier:'상위', type:'self', kind:'num',
q:'2 와 3 의 최소공배수는?',
fig:null,
answer:6,
hint:'두 수의 배수를 각각 나열해 처음 만나는 수를 찾으세요.',
sol:{ ans:'6', fig:null,
steps:['2 의 배수: 2, 4, 6, 8…','3 의 배수: 3, 6, 9, 12…','처음 공통으로 나오는 수 = 6.']}},
{ tier:'상위', type:'self', kind:'num',
q:'4 와 6 의 최소공배수는?',
fig:null,
answer:12,
hint:'두 수의 배수를 각각 나열해 처음 만나는 수를 찾으세요.',
sol:{ ans:'12', fig:null,
steps:['4 의 배수: 4, 8, 12, 16…','6 의 배수: 6, 12, 18, 24…','처음 공통으로 나오는 수 = 12.']}},
{ tier:'상위', type:'self', kind:'num',
q:'3 와 5 의 최소공배수는?',
fig:null,
answer:15,
hint:'두 수의 배수를 각각 나열해 처음 만나는 수를 찾으세요.',
sol:{ ans:'15', fig:null,
steps:['3 의 배수: 3, 6, 9, 12…','5 의 배수: 5, 10, 15, 20…','처음 공통으로 나오는 수 = 15.']}},
{ tier:'상위', type:'self', kind:'num',
q:'6 와 8 의 최소공배수는?',
fig:null,
answer:24,
hint:'두 수의 배수를 각각 나열해 처음 만나는 수를 찾으세요.',
sol:{ ans:'24', fig:null,
steps:['6 의 배수: 6, 12, 18, 24…','8 의 배수: 8, 16, 24, 32…','처음 공통으로 나오는 수 = 24.']}},
{ tier:'상위', type:'self', kind:'num',
q:'4 와 5 의 최소공배수는?',
fig:null,
answer:20,
hint:'두 수의 배수를 각각 나열해 처음 만나는 수를 찾으세요.',
sol:{ ans:'20', fig:null,
steps:['4 의 배수: 4, 8, 12, 16…','5 의 배수: 5, 10, 15, 20…','처음 공통으로 나오는 수 = 20.']}},
{ tier:'상위', type:'self', kind:'num',
q:'6 와 9 의 최소공배수는?',
fig:null,
answer:18,
hint:'두 수의 배수를 각각 나열해 처음 만나는 수를 찾으세요.',
sol:{ ans:'18', fig:null,
steps:['6 의 배수: 6, 12, 18, 24…','9 의 배수: 9, 18, 27, 36…','처음 공통으로 나오는 수 = 18.']}},
{ tier:'상위', type:'self', kind:'num',
q:'8 와 12 의 최소공배수는?',
fig:null,
answer:24,
hint:'두 수의 배수를 각각 나열해 처음 만나는 수를 찾으세요.',
sol:{ ans:'24', fig:null,
steps:['8 의 배수: 8, 16, 24, 32…','12 의 배수: 12, 24, 36, 48…','처음 공통으로 나오는 수 = 24.']}},
{ tier:'상위', type:'self', kind:'num',
q:'5 와 6 의 최소공배수는?',
fig:null,
answer:30,
hint:'두 수의 배수를 각각 나열해 처음 만나는 수를 찾으세요.',
sol:{ ans:'30', fig:null,
steps:['5 의 배수: 5, 10, 15, 20…','6 의 배수: 6, 12, 18, 24…','처음 공통으로 나오는 수 = 30.']}},
{ tier:'상위', type:'self', kind:'num',
q:'10 와 15 의 최소공배수는?',
fig:null,
answer:30,
hint:'두 수의 배수를 각각 나열해 처음 만나는 수를 찾으세요.',
sol:{ ans:'30', fig:null,
steps:['10 의 배수: 10, 20, 30, 40…','15 의 배수: 15, 30, 45, 60…','처음 공통으로 나오는 수 = 30.']}},
{ tier:'상위', type:'self', kind:'num',
q:'9 와 12 의 최소공배수는?',
fig:null,
answer:36,
hint:'두 수의 배수를 각각 나열해 처음 만나는 수를 찾으세요.',
sol:{ ans:'36', fig:null,
steps:['9 의 배수: 9, 18, 27, 36…','12 의 배수: 12, 24, 36, 48…','처음 공통으로 나오는 수 = 36.']}},
{ tier:'최상위', type:'self', kind:'choice',
q:'1 은 모든 수의 약수일까요?',
fig:null,
choices:['그렇다','아니다','1보다 큰 수만 그렇다','알 수 없다'], answer:'그렇다',
hint:'어떤 수든 1로 나누면 나누어떨어지나요?',
sol:{ ans:'그렇다', fig:null,
steps:['어떤 수든 1로 나누면 나머지가 없어요 (예: 7 ÷ 1 = 7).','그래서 1은 모든 수의 약수예요.','반대로 어떤 수는 자기 자신의 약수이기도 해요.']}},
{ tier:'최상위', type:'self', kind:'num',
q:'12 의 약수를 모두 더하면 얼마일까요?',
fig:null,
answer:28,
hint:'12의 약수: 1,2,3,4,6,12 를 모두 더하세요.',
sol:{ ans:'28', fig:null,
steps:['12 의 약수: 1, 2, 3, 4, 6, 12.','모두 더하면 1+2+3+4+6+12 = 28.','약수를 빠뜨리지 않으려면 짝지어 찾아요 (1·12, 2·6, 3·4).']}},
{ tier:'최상위', type:'self', kind:'choice',
q:'어떤 수의 약수가 1 과 자기 자신뿐인 수를 무엇이라고 할까요?',
fig:null,
choices:['짝수','소수','합성수','배수'], answer:'소수',
hint:'2, 3, 5, 7 처럼 약수가 딱 2개인 수예요.',
sol:{ ans:'소수', fig:null,
steps:['약수가 1과 자기 자신 딱 둘뿐인 수 = 소수.','예: 2, 3, 5, 7, 11, 13…','1은 약수가 1개뿐이라 소수가 아니에요!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'4 와 6 의 최소공배수는 12 이고 최대공약수는 2 입니다. 12 × 2 는 얼마일까요? (4 × 6 과 비교해 보세요)',
fig:null,
answer:24,
hint:'최소공배수 × 최대공약수 = 두 수의 곱! 확인해 보세요.',
sol:{ ans:'24 (= 4 × 6)', fig:null,
steps:['12 × 2 = 24.','4 × 6 = 24 — 똑같아요!','최소공배수 × 최대공약수 = 두 수의 곱 이라는 규칙이 있어요.']}},
{ tier:'최상위', type:'self', kind:'num',
q:'톱니가 4개인 바퀴와 6개인 바퀴가 맞물려 돌 때, 처음 자리로 돌아오려면 톱니가 몇 개 지나가야 할까요?',
fig:null,
answer:12,
hint:'두 톱니 수의 최소공배수를 구하세요.',
sol:{ ans:'12', fig:null,
steps:['4 와 6 의 최소공배수 = 12.','톱니 12개가 지나가면 4바퀴는 3회전, 6바퀴는 2회전 — 둘 다 딱 맞아요.','이런 게 최소공배수를 쓰는 실제 상황이에요!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'20 의 약수 중에서 가장 큰 것은?',
fig:null,
answer:20,
hint:'어떤 수의 약수 중 가장 큰 것은 언제나 무엇일까요?',
sol:{ ans:'20', fig:null,
steps:['20의 약수: 1, 2, 4, 5, 10, 20.','가장 큰 약수는 자기 자신이에요.','반대로 가장 작은 약수는 언제나 1!']}},
{ tier:'최상위', type:'self', kind:'num',
q:'3 의 배수 중에서 가장 작은 것은?',
fig:null,
answer:3,
hint:'배수는 3 × 1 부터 시작해요.',
sol:{ ans:'3', fig:null,
steps:['3의 배수: 3, 6, 9, 12…','가장 작은 배수는 3 × 1 = 3, 즉 자기 자신이에요.','0을 배수에 넣지 않는 게 초등 약속이에요.']}},
{ tier:'최상위', type:'self', kind:'num',
q:'어떤 수는 12 의 약수이면서 18 의 약수입니다. 이런 수 중 가장 큰 것은?',
fig:null,
answer:6,
hint:'두 수의 최대공약수를 구하세요.',
sol:{ ans:'6', fig:null,
steps:['12의 약수: 1,2,3,4,6,12 / 18의 약수: 1,2,3,6,9,18.','공통: 1,2,3,6 → 가장 큰 것은 6.','이게 바로 최대공약수예요.']}},
{ tier:'최상위', type:'self', kind:'choice',
q:'2 와 3 의 최소공배수는 6 입니다. 6 은 2 의 배수이면서 3 의 배수일까요?',
fig:null,
choices:['그렇다','아니다','2의 배수만 맞다','3의 배수만 맞다'], answer:'그렇다',
hint:'6 ÷ 2 와 6 ÷ 3 을 해보세요.',
sol:{ ans:'그렇다', fig:null,
steps:['6 ÷ 2 = 3 (나머지 0) → 6은 2의 배수 ✓','6 ÷ 3 = 2 (나머지 0) → 6은 3의 배수 ✓','공배수는 두 수 모두의 배수예요.']}},
{ tier:'최상위', type:'self', kind:'num',
q:'연필 12자루와 지우개 18개를 최대한 많은 학생에게 남김없이 똑같이 나눠 주려면 몇 명에게 줄 수 있을까요?',
fig:null,
answer:6,
hint:'12와 18을 둘 다 나누어떨어지게 하는 가장 큰 수 = 최대공약수!',
sol:{ ans:'6명', fig:null,
steps:['12와 18의 최대공약수 = 6.','6명에게 연필 2자루, 지우개 3개씩 주면 남김없이 딱!','‘최대한 많은 사람에게 똑같이’ = 최대공약수 문제예요.']}},
];
const TIERS=['기초','중급','상위','최상위'];
const TIER_DESC={기초:'영상만 봐도 바로 풀려요 — 배운 걸 그대로 적용.',중급:'한 번 더 생각 — 거꾸로·변형. 영상 안에 답이 있어요.',상위:'아래 학년 개념(선수 단원)을 함께 써야 풀려요.',최상위:'여러 개념·역발상·함정까지. 최고 난도.'};
let curTier='기초';
function tierProblems(t){ return P.map((p,i)=>({p,i})).filter(o=>o.p.tier===t); }
function renderTabs(){
const tb=document.getElementById('tabs'); tb.innerHTML='';
TIERS.forEach(t=>{ const n=tierProblems(t).length;
const b=document.createElement('button'); b.className='tab'+(t===curTier?' on':''); b.textContent=`${t} (${n})`;
b.onclick=()=>{curTier=t; renderTabs(); renderList();}; tb.appendChild(b); });
document.getElementById('tierNote').textContent=TIER_DESC[curTier];
}
function esc(x){return String(x).replace(/&/g,'&').replace(//g,'>');}
function renderList(){
const L=document.getElementById('list'); L.innerHTML='';
const items=tierProblems(curTier);
if(!items.length){ L.innerHTML='