// Numbas version: exam_results_page_options {"percentPass": 0, "metadata": {"licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International", "description": "
Adding, subtracting and multiplying two and three digit numbers. Now with worked solutions.
"}, "duration": 0, "question_groups": [{"pickingStrategy": "all-ordered", "name": "Group", "pickQuestions": 1, "questions": [{"name": "Addition", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}], "tags": ["adding", "Addition", "addition", "algorithms", "plus"], "metadata": {"description": "Natural numbers addition algorithm. 2 and 3 digit numbers. Carrying.
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Write the following questions down on paper and evaluate them without using a calculator.
\nIf you are unsure of how to do a question, click on Show steps to see the full working. Then, once you understand how to do the question, click on Try another question like this one to start again.
", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"chuncarry": {"name": "chuncarry", "group": "Ungrouped variables", "definition": "floor(chunsum/10)", "description": "", "templateType": "anything", "can_override": false}, "ctencarry": {"name": "ctencarry", "group": "Ungrouped variables", "definition": "floor(ctensum/10)", "description": "", "templateType": "anything", "can_override": false}, "bTenSum": {"name": "bTenSum", "group": "Ungrouped variables", "definition": "bdigs[1]+bdigs[3]+bunitsumtensdigit", "description": "", "templateType": "anything", "can_override": false}, "cunitsum": {"name": "cunitsum", "group": "Ungrouped variables", "definition": "cdigs[0]+cdigs[3]", "description": "", "templateType": "anything", "can_override": false}, "bUnitSumLastDigit": {"name": "bUnitSumLastDigit", "group": "Ungrouped variables", "definition": "mod(bunitsum,10)", "description": "", "templateType": "anything", "can_override": false}, "bunitsumtensdigit": {"name": "bunitsumtensdigit", "group": "Ungrouped variables", "definition": "floor((bunitsum)/10)", "description": "", "templateType": "anything", "can_override": false}, "bans": {"name": "bans", "group": "Ungrouped variables", "definition": "b2digit+b3digit", "description": "", "templateType": "anything", "can_override": false}, "btencarry": {"name": "btencarry", "group": "Ungrouped variables", "definition": "floor(btensum/10)", "description": "", "templateType": "anything", "can_override": false}, "bdigs": {"name": "bdigs", "group": "Ungrouped variables", "definition": "shuffle(1..9)[0..5]", "description": "", "templateType": "anything", "can_override": false}, "cunitcarry": {"name": "cunitcarry", "group": "Ungrouped variables", "definition": "floor(cunitsum/10)", "description": "", "templateType": "anything", "can_override": false}, "bunitsum": {"name": "bunitsum", "group": "Ungrouped variables", "definition": "bdigs[0]+bdigs[2]", "description": "", "templateType": "anything", "can_override": false}, "threedigit2": {"name": "threedigit2", "group": "Ungrouped variables", "definition": "cdigs[3]+cdigs[4]*10+cdigs[5]*100", "description": "", "templateType": "anything", "can_override": false}, "threedigit1": {"name": "threedigit1", "group": "Ungrouped variables", "definition": "cdigs[0]+cdigs[1]*10+cdigs[2]*100", "description": "", "templateType": "anything", "can_override": false}, "chunsumlastdigit": {"name": "chunsumlastdigit", "group": "Ungrouped variables", "definition": "mod(chunsum,10)", "description": "", "templateType": "anything", "can_override": false}, "cdigs": {"name": "cdigs", "group": "Ungrouped variables", "definition": "shuffle(3..9)", "description": "", "templateType": "anything", "can_override": false}, "b2digit": {"name": "b2digit", "group": "Ungrouped variables", "definition": "bdigs[0]+bdigs[1]*10", "description": "", "templateType": "anything", "can_override": false}, "cans": {"name": "cans", "group": "Ungrouped variables", "definition": "threedigit1+threedigit2", "description": "", "templateType": "anything", "can_override": false}, "cunitsumlastdigit": {"name": "cunitsumlastdigit", "group": "Ungrouped variables", "definition": "mod(cunitsum,10)", "description": "", "templateType": "anything", "can_override": false}, "b3digit": {"name": "b3digit", "group": "Ungrouped variables", "definition": "bdigs[2]+bdigs[3]*10+bdigs[4]*100", "description": "", "templateType": "anything", "can_override": false}, "ctensumlastdigit": {"name": "ctensumlastdigit", "group": "Ungrouped variables", "definition": "mod(ctensum,10)", "description": "", "templateType": "anything", "can_override": false}, "bsumhun": {"name": "bsumhun", "group": "Ungrouped variables", "definition": "bdigs[4]+btencarry", "description": "", "templateType": "anything", "can_override": false}, "bsumhunlastdigit": {"name": "bsumhunlastdigit", "group": "Ungrouped variables", "definition": "mod(bsumhun,10)", "description": "", "templateType": "anything", "can_override": false}, "bsumhuncarry": {"name": "bsumhuncarry", "group": "Ungrouped variables", "definition": "floor(bsumhun/10)", "description": "", "templateType": "anything", "can_override": false}, "ctensum": {"name": "ctensum", "group": "Ungrouped variables", "definition": "cdigs[1]+cdigs[4]+cunitcarry", "description": "", "templateType": "anything", "can_override": false}, "chunsum": {"name": "chunsum", "group": "Ungrouped variables", "definition": "ctencarry+cdigs[2]+cdigs[5]", "description": "", "templateType": "anything", "can_override": false}, "btensumlastdigit": {"name": "btensumlastdigit", "group": "Ungrouped variables", "definition": "mod(btensum,10)", "description": "", "templateType": "anything", "can_override": false}, "cunitsumtensdigit": {"name": "cunitsumtensdigit", "group": "Ungrouped variables", "definition": "0.1*(cunitsum-cunitsumlastdigit)", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": ["bdigs", "b2digit", "b3digit", "bunitsum", "bUnitSumLastDigit", "bunitsumtensdigit", "bTenSum", "btensumlastdigit", "btencarry", "bsumhun", "bsumhuncarry", "bsumhunlastdigit", "bans", "cdigs", "threedigit1", "threedigit2", "cans", "cunitsum", "cunitsumlastdigit", "cunitcarry", "ctensum", "ctensumlastdigit", "ctencarry", "chunsum", "chunsumlastdigit", "chuncarry", "cunitsumtensdigit"], "variable_groups": [], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "$\\var{b2digit}+\\var{b3digit} = $ [[0]]
", "stepsPenalty": "1", "steps": [{"type": "information", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "Generally, we set up $\\var{b2digit}+\\var{b3digit}$ with the ones and the tens columns lined up vertically:
\n\n | \n | $\\var{bdigs[1]}$ | \n$\\var{bdigs[0]}$ | \n$+$ | \n
\n | $\\var{bdigs[4]}$ | \n$\\var{bdigs[3]}$ | \n$\\var{bdigs[2]}$ | \n\n |
\n | \n | $\\phantom{0}$ | \n\n | \n |
Now we add the digits in the
This results in $\\var{bunitsum}$ and so we place $\\var{bunitsumlastdigit}$ under the line in the ones column.
\nThis results in $\\var{bunitsum}$ and so we place $\\var{bunitsumlastdigit}$ under the line in the
\n | \n | $\\overset{\\color{red}1}{\\var{bdigs[1]}}$ $\\overset{\\phantom{0}}{\\var{bdigs[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{bdigs[0]}}$ | \n$+$ | \n
\n | $\\var{bdigs[4]}$ | \n$\\var{bdigs[3]}$ | \n$\\var{bdigs[2]}$ | \n\n |
\n | \n | \n | $\\color{red}{\\var{bUnitSumLastDigit}}$ | \n\n |
Now we add the digits in the tens column.
\nThis results in $\\var{bTenSum}$ and so we place $\\var{bTenSumlastdigit}$ under the line in the tens column.
\nThis results in $\\var{bTenSum}$ and so we place $\\var{bTenSumlastdigit}$ under the line in the tens column and carry the $1$ into the hundreds column.
\n\n | ${\\overset{\\color{red}1}{\\phantom{0}}}$ $\\phantom{0}$ | \n$\\overset{1}{\\var{bdigs[1]}}$ $\\overset{\\phantom{0}}{\\var{bdigs[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{bdigs[0]}}$ | \n$+$ | \n
\n | $\\var{bdigs[4]}$ | \n$\\var{bdigs[3]}$ | \n$\\var{bdigs[2]}$ | \n\n |
\n | \n | $\\color{red}{\\var{bTenSumlastdigit}}$ | \n${\\var{bUnitSumLastDigit}}$ | \n\n |
Now we add the digits in the hundreds column.
\nThis is simply $\\var{bdigs[4]}$ so we place $\\var{bdigs[4]}$ under the line in the hundreds column.
\nThis is $\\var{bsumhun}$ so we place $\\var{bsumhun}$ under the line in the hundreds column.
\nThis is $\\var{bsumhun}$ so we place $\\var{bsumhun}$ under the line so that its rightmost digit is in the hundreds column.
\n\n | $\\overset{1}{\\phantom{0}}$ $\\phantom{0}$ | \n$\\overset{1}{\\var{bdigs[1]}}$ $\\overset{\\phantom{0}}{\\var{bdigs[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{bdigs[0]}}$ | \n$+$ | \n
\n | $\\var{bdigs[4]}$ | \n$\\var{bdigs[3]}$ | \n$\\var{bdigs[2]}$ | \n\n |
$\\phantom{\\var{bsumhuncarry}}$ $\\color{red}{\\var{bsumhuncarry}}$ | \n$\\color{red}{\\var{bsumhunlastdigit}}$ | \n$\\var{bTenSumlastdigit}$ | \n${\\var{bUnitSumLastDigit}}$ | \n\n |
The answer is therefore $\\var{bans}$.
"}], "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "bans", "maxValue": "bans", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}, {"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "$\\var{threedigit1}+\\var{threedigit2} = $ [[0]]
", "stepsPenalty": "1", "steps": [{"type": "information", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "Generally we set up $\\var{threedigit1}+\\var{threedigit2}$ with the ones, tens and hundreds columns lined up vertically:
\n\n | $\\var{cdigs[2]}$ | \n$\\var{cdigs[1]}$ | \n$\\var{cdigs[0]}$ | \n$+$ | \n
\n | $\\var{cdigs[5]}$ | \n$\\var{cdigs[4]}$ | \n$\\var{cdigs[3]}$ | \n\n |
\n | \n | $\\phantom{0}$ | \n\n | \n |
Now we add the digits in the ones column.
\nThis results in $\\var{cunitsum}$ and so we place $\\var{cunitsumlastdigit}$ under the line in the ones column.
\nThis results in $\\var{cunitsum}$ and so we place $\\var{cunitsumlastdigit}$ under the line in the ones column and carry the $1$ into the tens column.
\n\n | $\\overset{\\phantom{1}}{\\var{cdigs[2]}}$ | \n$\\overset{\\color{red}1}{\\var{cdigs[1]}}$ $\\overset{\\phantom{0}}{\\var{cdigs[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{cdigs[0]}}$ | \n$+$ | \n
\n | $\\var{cdigs[5]}$ | \n$\\var{cdigs[4]}$ | \n$\\var{cdigs[3]}$ | \n\n |
\n | \n | \n | $\\color{red}{\\var{cunitSumLastDigit}}$ | \n\n |
Now we add the digits in the tens column.
\nThis results in $\\var{ctenSum}$ and so we place $\\var{ctenSumlastdigit}$ under the line in the tens column.
\nThis results in $\\var{ctenSum}$ and so we place $\\var{ctenSumlastdigit}$ under the line in the tens column and carry the $1$ into the hundreds column.
\n\n | ${\\overset{\\color{red}1}{\\var{cdigs[2]}}}$ $\\overset{\\phantom{1}}{\\var{cdigs[2]}}$ | \n$\\overset{1}{\\var{cdigs[1]}}$ $\\overset{\\phantom{0}}{\\var{cdigs[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{cdigs[0]}}$ | \n$+$ | \n
\n | $\\var{cdigs[5]}$ | \n$\\var{cdigs[4]}$ | \n$\\var{cdigs[3]}$ | \n\n |
\n | \n | $\\color{red}{\\var{ctenSumlastdigit}}$ | \n${\\var{cunitSumLastDigit}}$ | \n\n |
Now we add the digits in the hundreds column.
\nThis is $\\var{chunsum}$ so we place $\\var{chunsum}$ under the line in the hundreds column.
\nThis is $\\var{chunsum}$ so we place $\\var{chunsum}$ under the line so that its rightmost digit is in the hundreds column.
\n\n | $\\overset{1}{\\var{cdigs[2]}}$ $\\overset{\\phantom{1}}{\\var{cdigs[2]}}$ | \n$\\overset{1}{\\var{cdigs[1]}}$ $\\overset{\\phantom{0}}{\\var{cdigs[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{cdigs[0]}}$ | \n$+$ | \n
\n | $\\var{cdigs[5]}$ | \n$\\var{cdigs[4]}$ | \n$\\var{cdigs[3]}$ | \n\n |
$\\phantom{\\var{chuncarry}}$ $\\color{red}{\\var{chuncarry}}$ | \n$\\color{red}{\\var{chunsumlastdigit}}$ | \n$\\var{ctenSumlastdigit}$ | \n${\\var{cunitSumLastDigit}}$ | \n\n |
The answer is therefore $\\var{cans}$.
"}], "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "cans", "maxValue": "cans", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Subtraction", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}], "tags": ["algorithms", "minus", "subtracting", "subtraction", "take away"], "metadata": {"description": "The subtraction algortihm using the borrow and pay back method with integers.
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Write the following question down on paper and evaluate it without using a calculator.
\nIf you are unsure of how to do a question, click on Show steps to see the full working. Then, once you understand how to do the question, click on Try another question like this one to start again.
", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"newtopten": {"name": "newtopten", "group": "c", "definition": "if(unitdiff>=0,top[1],top[1]-1)", "description": "", "templateType": "anything", "can_override": false}, "ansunit": {"name": "ansunit", "group": "c", "definition": "mod(ans,10)", "description": "", "templateType": "anything", "can_override": false}, "hundiff": {"name": "hundiff", "group": "c", "definition": "if(tendiff>=0,top[2]-bot[2],top[2]-1-bot[2])", "description": "", "templateType": "anything", "can_override": false}, "botnum": {"name": "botnum", "group": "c", "definition": "bot[0]+bot[1]*10+bot[2]*100", "description": "", "templateType": "anything", "can_override": false}, "ansten": {"name": "ansten", "group": "c", "definition": "mod(floor(ans/10),10)", "description": "", "templateType": "anything", "can_override": false}, "tendiff": {"name": "tendiff", "group": "c", "definition": "if(unitdiff>=0,top[1]-bot[1],top[1]-1-bot[1])", "description": "", "templateType": "anything", "can_override": false}, "unitdiff": {"name": "unitdiff", "group": "c", "definition": "top[0]-bot[0]", "description": "", "templateType": "anything", "can_override": false}, "bot": {"name": "bot", "group": "c", "definition": "random(\nif(top[0]<9,[random(top[0]+1..9), random(top[1]..9), random(1..top[2]-1)],\n if(top[1]<9,[random(top[0]..9), random(top[1]+1..9), random(1..top[2]-1)],\"error\")),\nif(top[1]<9,[random(0..top[0]), random(top[1]+1..9), random(1..top[2]-1)],\n if(top[1]=9,[random(top[0]..9), random(0..9), random(1..top[2]-1)],\"error\"))\n)\n", "description": "This should force some borrowing and
Borrowing from the hundreds to do the units is not covered with this randomisation. We will do that in another part.
", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "", "maxRuns": 100}, "ungrouped_variables": [], "variable_groups": [{"name": "c", "variables": ["top", "bot", "topnum", "botnum", "ans", "unitdiff", "tendiff", "hundiff", "ansunit", "ansten", "anshun", "newtopten", "newtophun"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "$\\var{topnum}-\\var{botnum} = $ [[0]]
", "stepsPenalty": "1", "steps": [{"type": "information", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "Generally we set up $\\var{topnum}-\\var{botnum}$ with the ones, tens and hundreds columns lined up vertically:
\n\n | $\\var{top[2]}$ | \n$\\var{top[1]}$ | \n$\\var{top[0]}$ | \n$-$ | \n
\n | $\\var{bot[2]}$ | \n$\\var{bot[1]}$ | \n$\\var{bot[0]}$ | \n\n |
\n | \n | $\\phantom{0}$ | \n\n | \n |
Now we try to subtract the digits in the
Since this is $\\var{ansunit}$ we write $\\var{ansunit}$ under the line in the ones column.
\nSince we can't take $\\var{bot[0]}$ away from $\\var{top[0]}$ (without using negative numbers) we borrow a ten from the tens column. This means we cross out the $\\var{top[1]}$ in the tens column and replace it with a $\\var{top[1]-1}$, and the $\\var{top[0]}$ becomes a $\\var{10+top[0]}$. Now we can do $\\var{10+top[0]}-\\var{bot[0]}$, and write the result, $\\var{ansunit}$, under the line in the ones column.
\n\n | $\\overset{\\phantom{1}}{\\var{top[2]}}$ | \n$\\overset{\\color{red}{\\var{newtopten}}}{\\var{top[1]}\\mkern-7.5mu\\color{red}/}$ $\\overset{\\phantom{1}}{\\var{top[1]}}$ | \n$\\color{red}{^1}\\overset{\\phantom{1}}{\\var{top[0]}}$ $\\overset{\\phantom{1}}{\\var{top[0]}}$ | \n$-$ | \n
\n | $\\var{bot[2]}$ | \n$\\var{bot[1]}$ | \n$\\var{bot[0]}$ | \n\n |
\n | \n | \n | $\\color{red}{\\var{ansunit}}$ | \n\n |
Now we try to subtract the digits in the tens column.
\nSince this is $\\var{ansten}$ we write $\\var{ansten}$ under the line in the tens column.
\nSince we can't take $\\var{bot[1]}$ away from $\\var{newtopten}$ (without using negative numbers) we borrow a hundred from the hundred column. This means we cross out the $\\var{top[2]}$ in the hundreds column and replace it with a $\\var{top[2]-1}$, and the $\\var{newtopten}$ in the tens column becomes a $\\var{10+newtopten}$. Now we can do $\\var{10+newtopten}-\\var{bot[1]}$, and write the result, $\\var{ansten}$, under the line in the tens column.
\n\n\n | \n $\\overset{\\color{red}{\\var{newtophun}}}{\\var{top[2]}\\mkern-7.5mu\\color{red}{/}}$ $\\overset{\\phantom{1}}{\\var{top[2]}}$ \n | \n\n $\\overset{\\color{red}{1}\\var{newtopten}}{\\var{top[1]}\\mkern-7.5mu/}$ $\\overset{\\var{newtopten}}{\\var{top[1]}\\mkern-7.5mu/}$ $\\color{red}{^1}\\overset{\\phantom{1}}{\\var{top[1]}}$ $\\overset{\\phantom{1}}{\\var{top[1]}}$ \n | \n${^1}\\overset{\\phantom{1}}{\\var{top[0]}}$ $\\overset{\\phantom{1}}{\\var{top[0]}}$ | \n$-$ | \n
\n | $\\var{bot[2]}$ | \n$\\var{bot[1]}$ | \n$\\var{bot[0]}$ | \n\n |
\n | \n | $\\color{red}{\\var{ansten}}$ | \n$\\var{ansunit}$ | \n\n |
Now we try to subtract the digits in the hundreds column.
\n\n\n | \n $\\overset{\\var{newtophun}}{\\var{top[2]}\\mkern-7.5mu/}$ $\\overset{\\phantom{1}}{\\var{top[2]}}$ \n | \n\n $\\overset{{1}\\var{newtopten}}{\\var{top[1]}\\mkern-7.5mu/}$ $\\overset{\\var{newtopten}}{\\var{top[1]}\\mkern-7.5mu/}$ ${^1}\\overset{\\phantom{1}}{\\var{top[1]}}$ $\\overset{\\phantom{1}}{\\var{top[1]}}$ \n | \n${^1}\\overset{\\phantom{1}}{\\var{top[0]}}$ $\\overset{\\phantom{1}}{\\var{top[0]}}$ | \n$-$ | \n
\n | $\\var{bot[2]}$ | \n$\\var{bot[1]}$ | \n$\\var{bot[0]}$ | \n\n |
\n | $\\color{red}{\\var{anshun}}$ | \n$\\var{ansten}$ | \n$\\var{ansunit}$ | \n\n |
The answer is therefore $\\var{ans}$.
"}], "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "ans", "maxValue": "ans", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Multiplication 2 digit by 2 digit", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}], "tags": ["algorithms", "long multiplication", "multiplication", "times"], "metadata": {"description": "Multiplication algorithm with integers
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Write the following question down on paper and evaluate it without using a calculator.
\nIf you are unsure of how to do a question, click on Show steps to see the full working. Then, once you understand how to do the question, click on Try another question like this one to start again.
", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"ab0t0": {"name": "ab0t0", "group": "2digit", "definition": "atop[0]*abot[0]", "description": "", "templateType": "anything", "can_override": false}, "asum1": {"name": "asum1", "group": "2digit", "definition": "abot[0]*atopnum", "description": "", "templateType": "anything", "can_override": false}, "ab0t1": {"name": "ab0t1", "group": "2digit", "definition": "abot[0]*atop[1]", "description": "", "templateType": "anything", "can_override": false}, "ab0t0carry": {"name": "ab0t0carry", "group": "2digit", "definition": "(ab0t0-ab0t0last)/10", "description": "", "templateType": "anything", "can_override": false}, "abot": {"name": "abot", "group": "2digit", "definition": "if(adigs[2]<>0,[adigs[3],adigs[2]],[adigs[2],adigs[3]])", "description": "sum2
", "templateType": "anything", "can_override": false}, "threedigit1": {"name": "threedigit1", "group": "Ungrouped variables", "definition": "random(101..999 except list(200..900#100) )", "description": "", "templateType": "anything", "can_override": false}, "ab0t1pluscarry": {"name": "ab0t1pluscarry", "group": "2digit", "definition": "ab0t1+ab0t0carry", "description": "ab
", "templateType": "anything", "can_override": false}, "ab1t0carry": {"name": "ab1t0carry", "group": "2digit", "definition": "(ab1t0-ab1t0last)/10", "description": "", "templateType": "anything", "can_override": false}, "ab0t1last": {"name": "ab0t1last", "group": "2digit", "definition": "mod(ab0t1pluscarry,10)", "description": "", "templateType": "anything", "can_override": false}, "ab0t0last": {"name": "ab0t0last", "group": "2digit", "definition": "mod(ab0t0,10)", "description": "", "templateType": "anything", "can_override": false}, "adigs": {"name": "adigs", "group": "2digit", "definition": "shuffle(1..9)[0..4]", "description": "we want distinct digits so it is easier to refer to digits unambiguously.
", "templateType": "anything", "can_override": false}, "ab1t1": {"name": "ab1t1", "group": "2digit", "definition": "abot[1]*atop[1]", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "\n", "maxRuns": 100}, "ungrouped_variables": ["twodigit1", "twodigit2", "threedigit1", "threedigit2", "twodigit3", "threedigit3"], "variable_groups": [{"name": "2digit", "variables": ["adigs", "atop", "abot", "atopnum", "abotnum", "aans", "ab0t0", "ab0t0last", "ab0t0carry", "ab0t1", "ab0t1pluscarry", "ab0t1last", "ab0t1carry", "ab1t0", "ab1t0last", "ab1t0carry", "ab1t1", "ab1t1pluscarry", "ab1t1last", "ab1t1carry", "asum1", "asum2", "aansone", "aansten", "aanshun", "aanstho"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": false, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "$\\var{atopnum}\\times\\var{abotnum} = $ [[0]]
", "stepsPenalty": "1", "steps": [{"type": "information", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "Generally we set up $\\var{atopnum}\\times\\var{abotnum}$ with the ones and tens columns lined up vertically:
\n\n | $\\var{atop[1]}$ | \n$\\var{atop[0]}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\var{abot[0]}$ | \n\n |
\n | $\\phantom{0}$ | \n\n | \n |
We need to multiply each digit in the bottom number by each digit in the top number whilst respecting their place values.
\n\n
We multiply the digits in the ones column, that is, $\\color{green}{\\var{abot[0]}\\times \\var{atop[0]}}$.
\nSince this is just $\\var{ab0t0}$ we write $\\var{ab0t0}$ under the line in the ones column.
\nSince this is $\\var{ab0t0}$ we write the $\\var{ab0t0last}$ under the line in the ones column and carry the $\\var{ab0t0carry}$ into the tens column to be dealt with in the next step.
\n\n\n | $\\overset{\\color{red}{\\var{ab0t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\color{green}{\\overset{\\phantom{1}}{\\var{atop[0]}}}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\color{green}{\\var{abot[0]}}$ | \n\n |
\n | \n | $\\color{red}{\\var{ab0t0last}}$ | \n\n |
We now multiply diagonally, $\\color{green}{\\var{abot[0]}\\times \\var{atop[1]}}$.
\nThis just gives us $\\var{ab0t1}$ so we write $\\var{ab0t1}$ under the line in the tens column.
\nThis gives us $\\var{ab0t1}$ so we write this under the line with the $\\var{ab0t1last}$ in the tens column.
\nThis gives us $\\var{ab0t1}$ but we have to add the $\\var{ab0t0carry}$ we carried earlier and so we write $\\var{ab0t1pluscarry}$ under the line with the $\\var{ab0t1last}$ in the tens column.
\nThis gives us $\\var{ab0t1}$ but we have to add the $\\var{ab0t0carry}$ we carried earlier and so we write $\\var{ab0t1pluscarry}$ under the line in the tens column.
\n\n\n | $\\color{green}{\\overset{{\\var{ab0t0carry}}}{\\var{atop[1]}}}$ $\\color{green}{\\overset{\\phantom{1}}{\\var{atop[1]}}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\color{green}{\\var{abot[0]}}$ | \n\n |
$\\color{red}{\\var{ab0t1carry}}$ $\\phantom{0}$ | \n$\\color{red}{\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
We are now finished with the digit $\\var{abot[0]}$ and move on to work with the $\\var{abot[1]}$ in the tens column. Since this is really a $\\var{abot[1]*10}$ we place a zero in the ones column on the next line to pad our numbers out. We also crossout or erase any carry marks that we have used.
\n\n\n | $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\var{abot[0]}$ | \n\n |
${\\var{ab0t1carry}}$$\\phantom{0}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
\n | \n | $\\color{red}0$ | \n\n |
We now multiply along the other diagonal, that is, $\\color{green}{\\var{abot[1]}\\times\\var{atop[0]}}$.
\nSince this is just $\\var{ab1t0}$ we write $\\var{ab1t0}$ under the line in the tens column.
\nSince this is $\\var{ab1t0}$ we write the $\\var{ab1t0last}$ under the line in the tens column and carry the $\\var{ab1t0carry}$ into the tens column to be dealt with in the next step.
\n\n\n | $\\overset{\\color{red}{\\var{ab1t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\color{green}{\\overset{\\phantom{1}}{\\var{atop[0]}}}$ | \n$\\times$ | \n
\n | $\\color{green}{\\var{abot[1]}}$ | \n$\\var{abot[0]}$ | \n\n |
${\\var{ab0t1carry}}$$\\phantom{0}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
\n | $\\color{red}{\\var{ab1t0last}}$ | \n${0}$ | \n\n |
We now multiply the digits in the tens column, that is, $\\color{green}{\\var{abot[1]}\\times \\var{atop[1]}}$.
\nThis just gives us $\\var{ab1t1}$ so we write $\\var{ab1t1}$ under the line in the hundreds column.
\nThis gives us $\\var{ab1t1}$ so we write this under the line with the $\\var{ab1t1last}$ in the hundreds column.
\nThis gives us $\\var{ab1t1}$ but we have to add the $\\var{ab1t0carry}$ we carried earlier and so we write $\\var{ab1t1pluscarry}$ under the line with the $\\var{ab1t1last}$ in the hundreds column.
\nThis gives us $\\var{ab1t1}$ but we have to add the $\\var{ab1t0carry}$ we carried earlier and so we write $\\var{ab1t1pluscarry}$ under the line in the hundreds column.
\n\n\n | \n | $\\color{green}{\\overset{{\\var{ab1t0carry}}}{\\var{atop[1]}}}$ $\\color{green}{\\overset{\\phantom{1}}{\\var{atop[1]}}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | \n | $\\color{green}{\\var{abot[1]}}$ | \n$\\var{abot[0]}$ | \n\n |
\n | ${\\var{ab0t1carry}}$$\\phantom{0}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
$\\color{red}{\\var{ab1t1carry}}$ $\\phantom{0}$ | \n$\\color{red}{\\var{ab1t1last}}$ | \n${\\var{ab1t0last}}$ | \n${0}$ | \n\n |
We now add the two results to get the total, that is, $\\color{green}{\\var{asum1}+\\var{asum2}}$.
\n\n\n | \n | $\\overset{{\\var{ab1t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | \n | $\\var{abot[1]}$ | \n$\\var{abot[0]}$ | \n\n |
\n | $\\color{green}{\\var{ab0t1carry}}$$\\phantom{0}$ | \n$\\color{green}{\\var{ab0t1last}}$ | \n$\\color{green}{\\var{ab0t0last}}$ | \n$+$ | \n
$\\color{green}{\\var{ab1t1carry}}$ $\\phantom{0}$ | \n$\\color{green}{\\var{ab1t1last}}$ | \n$\\color{green}{\\var{ab1t0last}}$ | \n$\\color{green}{0}$ | \n\n |
$\\color{red}{\\var{aanstho}}$$\\phantom{0}$ | \n$\\color{red}{\\var{aanshun}}$ | \n$\\color{red}{\\var{aansten}}$ | \n$\\color{red}{\\var{aansone}}$ | \n\n |
The answer is therefore $\\var{aans}$.
"}], "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "aans", "maxValue": "aans", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}, {"name": "Multiplication 3 digit by 2 digit", "extensions": [], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}], "tags": [], "metadata": {"description": "Multiplication algorithm with integers
", "licence": "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"}, "statement": "Write the following question down on paper and evaluate it without using a calculator.
\nIf you are unsure of how to do a question, click on Show steps to see the full working. Then, once you understand how to do the question, click on Try another question like this one to start again.
", "advice": "", "rulesets": {}, "builtin_constants": {"e": true, "pi,\u03c0": true, "i": true}, "constants": [], "variables": {"ab0t0last": {"name": "ab0t0last", "group": "2digit", "definition": "mod(ab0t0,10)", "description": "", "templateType": "anything", "can_override": false}, "threedigit3": {"name": "threedigit3", "group": "Ungrouped variables", "definition": "random(101..999 except list(200..900#100) )", "description": "", "templateType": "anything", "can_override": false}, "aanstho": {"name": "aanstho", "group": "2digit", "definition": "mod((aans-aansone-aansten*10-aanshun*100)/1000,10)", "description": "", "templateType": "anything", "can_override": false}, "aanstth": {"name": "aanstth", "group": "2digit", "definition": "mod((aans-aansone-aansten*10-aanshun*100-aanstho*1000)/10000,10)", "description": "", "templateType": "anything", "can_override": false}, "ab0t1": {"name": "ab0t1", "group": "2digit", "definition": "abot[0]*atop[1]", "description": "", "templateType": "anything", "can_override": false}, "threedigit2": {"name": "threedigit2", "group": "Ungrouped variables", "definition": "random(101..999 except list(200..900#100) )", "description": "", "templateType": "anything", "can_override": false}, "ab1t2pluscarry": {"name": "ab1t2pluscarry", "group": "2digit", "definition": "ab1t2+ab1t1carry", "description": "", "templateType": "anything", "can_override": false}, "twodigit1": {"name": "twodigit1", "group": "Ungrouped variables", "definition": "random(11..99 except list(20..90#10) )", "description": "", "templateType": "anything", "can_override": false}, "asum1": {"name": "asum1", "group": "2digit", "definition": "abot[0]*atopnum", "description": "", "templateType": "anything", "can_override": false}, "aanshun": {"name": "aanshun", "group": "2digit", "definition": "mod((aans-aansone-aansten*10)/100,10)", "description": "", "templateType": "anything", "can_override": false}, "abot": {"name": "abot", "group": "2digit", "definition": "[adigs[4],adigs[3]]", "description": "we want distinct digits so it is easier to refer to digits unambiguously.
", "templateType": "anything", "can_override": false}, "ab1t1": {"name": "ab1t1", "group": "2digit", "definition": "abot[1]*atop[1]", "description": "", "templateType": "anything", "can_override": false}, "ab1t2carry": {"name": "ab1t2carry", "group": "2digit", "definition": "(ab1t2pluscarry-ab1t2last)/10", "description": "", "templateType": "anything", "can_override": false}, "asum2": {"name": "asum2", "group": "2digit", "definition": "10*abot[1]*atopnum", "description": "sum2
", "templateType": "anything", "can_override": false}, "atop": {"name": "atop", "group": "2digit", "definition": "[adigs[2],adigs[1],adigs[0]]", "description": "", "templateType": "anything", "can_override": false}, "ab1t0last": {"name": "ab1t0last", "group": "2digit", "definition": "mod(ab1t0,10)", "description": "", "templateType": "anything", "can_override": false}, "ab0t2last": {"name": "ab0t2last", "group": "2digit", "definition": "mod(ab0t2pluscarry,10)", "description": "", "templateType": "anything", "can_override": false}, "ab1t1pluscarry": {"name": "ab1t1pluscarry", "group": "2digit", "definition": "ab1t1+ab1t0carry", "description": "", "templateType": "anything", "can_override": false}, "ab1t0": {"name": "ab1t0", "group": "2digit", "definition": "abot[1]*atop[0]", "description": "", "templateType": "anything", "can_override": false}, "ab1t0carry": {"name": "ab1t0carry", "group": "2digit", "definition": "(ab1t0-ab1t0last)/10", "description": "", "templateType": "anything", "can_override": false}, "ab0t1last": {"name": "ab0t1last", "group": "2digit", "definition": "mod(ab0t1pluscarry,10)", "description": "", "templateType": "anything", "can_override": false}, "ab1t2last": {"name": "ab1t2last", "group": "2digit", "definition": "mod(ab1t2pluscarry,10)", "description": "", "templateType": "anything", "can_override": false}, "ab1t2": {"name": "ab1t2", "group": "2digit", "definition": "abot[1]*atop[2]", "description": "", "templateType": "anything", "can_override": false}, "ab0t2pluscarry": {"name": "ab0t2pluscarry", "group": "2digit", "definition": "ab0t2+ab0t1carry", "description": "", "templateType": "anything", "can_override": false}, "ab0t2carry": {"name": "ab0t2carry", "group": "2digit", "definition": "(ab0t2pluscarry-ab0t2last)/10", "description": "", "templateType": "anything", "can_override": false}, "twodigit2": {"name": "twodigit2", "group": "Ungrouped variables", "definition": "random(11..99 except list(20..90#10) )", "description": "", "templateType": "anything", "can_override": false}, "ab0t0carry": {"name": "ab0t0carry", "group": "2digit", "definition": "(ab0t0-ab0t0last)/10", "description": "", "templateType": "anything", "can_override": false}, "ab1t1carry": {"name": "ab1t1carry", "group": "2digit", "definition": "(ab1t1pluscarry-ab1t1last)/10", "description": "", "templateType": "anything", "can_override": false}, "ab0t2": {"name": "ab0t2", "group": "2digit", "definition": "abot[0]*atop[2]", "description": "", "templateType": "anything", "can_override": false}, "ab0t1carry": {"name": "ab0t1carry", "group": "2digit", "definition": "(ab0t1pluscarry-ab0t1last)/10", "description": "", "templateType": "anything", "can_override": false}, "abotnum": {"name": "abotnum", "group": "2digit", "definition": "abot[1]*10+abot[0]", "description": "ab
", "templateType": "anything", "can_override": false}, "atopnum": {"name": "atopnum", "group": "2digit", "definition": "atop[2]*100+atop[1]*10+atop[0]", "description": "", "templateType": "anything", "can_override": false}, "aans": {"name": "aans", "group": "2digit", "definition": "atopnum*abotnum", "description": "", "templateType": "anything", "can_override": false}, "aansone": {"name": "aansone", "group": "2digit", "definition": "mod(aans,10)", "description": "", "templateType": "anything", "can_override": false}, "aansten": {"name": "aansten", "group": "2digit", "definition": "mod((aans-aansone)/10,10)", "description": "", "templateType": "anything", "can_override": false}, "ab0t0": {"name": "ab0t0", "group": "2digit", "definition": "atop[0]*abot[0]", "description": "", "templateType": "anything", "can_override": false}}, "variablesTest": {"condition": "\n", "maxRuns": 100}, "ungrouped_variables": ["twodigit1", "twodigit2", "threedigit1", "threedigit2", "twodigit3", "threedigit3"], "variable_groups": [{"name": "2digit", "variables": ["adigs", "atop", "abot", "atopnum", "abotnum", "aans", "ab0t0", "ab0t0last", "ab0t0carry", "ab0t1", "ab0t1pluscarry", "ab0t1last", "ab0t1carry", "ab0t2", "ab0t2pluscarry", "ab0t2last", "ab0t2carry", "ab1t0", "ab1t0last", "ab1t0carry", "ab1t1", "ab1t1pluscarry", "ab1t1last", "ab1t1carry", "ab1t2", "ab1t2pluscarry", "ab1t2last", "ab1t2carry", "asum1", "asum2", "aansone", "aansten", "aanshun", "aanstho", "aanstth"]}], "functions": {}, "preamble": {"js": "", "css": ""}, "parts": [{"type": "gapfill", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "$\\var{atopnum}\\times\\var{abotnum} = $ [[0]]
", "stepsPenalty": "1", "steps": [{"type": "information", "useCustomName": false, "customName": "", "marks": 0, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "prompt": "Generally we set up $\\var{atopnum}\\times\\var{abotnum}$ with the ones and tens columns lined up vertically:
\n$\\var{atop[2]}$ | \n$\\var{atop[1]}$ | \n$\\var{atop[0]}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\var{abot[0]}$ | \n\n |
\n | $\\phantom{0}$ | \n\n | \n |
We need to multiply each digit in the bottom number by each digit in the top number whilst respecting their place values.
\n\nWe multiply the digits in the ones column, that is, $\\color{green}{\\var{abot[0]}\\times \\var{atop[0]}}$.
\nSince this is just $\\var{ab0t0}$ we write $\\var{ab0t0}$ under the line in the ones column.
\nSince this is $\\var{ab0t0}$ we write the $\\var{ab0t0last}$ under the line in the ones column and carry the $\\var{ab0t0carry}$ into the tens column to be dealt with in the next step.
\n\n$\\overset{\\phantom{1}}{\\var{atop[2]}}$ | \n$\\overset{\\color{red}{\\var{ab0t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\color{green}{\\overset{\\phantom{1}}{\\var{atop[0]}}}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\color{green}{\\var{abot[0]}}$ | \n\n |
\n | \n | $\\color{red}{\\var{ab0t0last}}$ | \n\n |
We now multiply diagonally, $\\color{green}{\\var{abot[0]}\\times \\var{atop[1]}}$.
\nThis just gives us $\\var{ab0t1}$ so we write $\\var{ab0t1}$ under the line in the tens column.
\nThis gives us $\\var{ab0t1}$ so we write this under the line with the $\\var{ab0t1last}$ in the tens column.
\nThis gives us $\\var{ab0t1}$ but we have to add the $\\var{ab0t0carry}$ we carried earlier and so we write $\\var{ab0t1last}$ under the line in the tens column and carry the $\\var{ab0t1carry}$ into the hundreds column to be dealt with in the next step.
\nThis gives us $\\var{ab0t1}$ but we have to add the $\\var{ab0t0carry}$ we carried earlier and so we write $\\var{ab0t1pluscarry}$ under the line in the tens column.
\n\n$\\overset{\\color{red}{\\var{ab0t1carry}}}{\\var{atop[2]}}$ $\\overset{\\phantom{1}}{\\var{atop[2]}}$ | \n${\\overset{{\\var{ab0t0carry}}}{\\color{green}{\\var{atop[1]}}}}$ $\\color{green}{\\overset{\\phantom{1}}{\\var{atop[1]}}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | $\\var{abot[1]}$ | \n$\\color{green}{\\var{abot[0]}}$ | \n\n |
\n | $\\color{red}{\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
We now multiply diagonally, $\\color{green}{\\var{abot[0]}\\times \\var{atop[2]}}$.
\nThis just gives us $\\var{ab0t2}$ so we write $\\var{ab0t2}$ under the line in the hundreds column.
\nThis gives us $\\var{ab0t2}$ so we write this under the line with the $\\var{ab0t2last}$ in the hundreds column.
\nThis gives us $\\var{ab0t2}$ but we have to add the $\\var{ab0t1carry}$ we carried earlier and so we write $\\var{ab0t2pluscarry}$ under the line with the $\\var{ab0t2last}$ in the hundreds column.
\nThis gives us $\\var{ab0t2}$ but we have to add the $\\var{ab0t1carry}$ we carried earlier and so we write $\\var{ab0t2pluscarry}$ under the line in the hundreds column.
\n\n\n | $\\overset{{\\var{ab0t1carry}}}{\\color{green}{\\var{atop[2]}}}$ $\\overset{\\phantom{1}}{\\color{green}{\\var{atop[2]}}}$ | \n${\\overset{{\\var{ab0t0carry}}}{\\var{atop[1]}}}$ ${\\overset{\\phantom{1}}{\\var{atop[1]}}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | \n | $\\var{abot[1]}$ | \n$\\color{green}{\\var{abot[0]}}$ | \n\n |
$\\color{red}{\\var{ab0t2carry}}$$\\phantom{0}$ | \n$\\color{red}{\\var{ab0t2last}}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
We are now finished with the digit $\\var{abot[0]}$ and move on to work with the $\\var{abot[1]}$ in the tens column. Since this is really a $\\var{abot[1]*10}$ we place a zero in the ones column on the next line to pad our numbers out. We also cross out or erase any carry marks that we have used.
\n\n\n | $\\overset{\\phantom{1}}{\\var{atop[2]}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | \n | $\\var{abot[1]}$ | \n$\\var{abot[0]}$ | \n\n |
$\\var{ab0t2carry}$$\\phantom{0}$ | \n${\\var{ab0t2last}}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
\n | \n | \n | $\\color{red}0$ | \n\n |
We now multiply along the other diagonal, that is, $\\color{green}{\\var{abot[1]}\\times\\var{atop[0]}}$.
\nSince this is just $\\var{ab1t0}$ we write $\\var{ab1t0}$ under the line in the tens column.
\nSince this is $\\var{ab1t0}$ we write the $\\var{ab1t0last}$ under the line in the tens column and carry the $\\var{ab1t0carry}$ into the tens column to be dealt with in the next step.
\n\n\n | $\\overset{\\phantom{1}}{\\var{atop[2]}}$ | \n$\\overset{\\color{red}{\\var{ab1t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\color{green}{\\overset{\\phantom{1}}{\\var{atop[0]}}}$ | \n$\\times$ | \n
\n | \n | $\\color{green}{\\var{abot[1]}}$ | \n$\\var{abot[0]}$ | \n\n |
$\\var{ab0t2carry}$$\\phantom{0}$ | \n${\\var{ab0t2last}}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
\n | \n | $\\color{red}{\\var{ab1t0last}}$ | \n${0}$ | \n\n |
We now multiply the digits in the tens column, that is, $\\color{green}{\\var{abot[1]}\\times \\var{atop[1]}}$.
\nThis just gives us $\\var{ab1t1}$ so we write $\\var{ab1t1}$ under the line in the hundreds column.
\nThis gives us $\\var{ab1t1}$ so we write this under the line with the $\\var{ab1t1last}$ in the hundreds column.
\nThis gives us $\\var{ab1t1}$ but we have to add the $\\var{ab1t0carry}$ we carried earlier and so we write $\\var{ab1t1last}$ under the line in the hundreds column and carry the $\\var{ab1t1carry}$ into the hundreds column to be dealt with in the next step.
\nThis gives us $\\var{ab1t1}$ but we have to add the $\\var{ab1t0carry}$ we carried earlier and so we write $\\var{ab1t1pluscarry}$ under the line in the hundreds column.
\n\n\n | $\\overset{\\color{red}{\\var{ab1t1carry}}}{\\var{atop[2]}}$ $\\overset{\\phantom{1}}{\\var{atop[2]}}$ | \n${\\overset{{\\var{ab1t0carry}}}{\\color{green}{\\var{atop[1]}}}}$ $\\color{green}{\\overset{\\phantom{1}}{\\var{atop[1]}}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | \n | $\\color{green}{\\var{abot[1]}}$ | \n$\\var{abot[0]}$ | \n\n |
${\\var{ab0t2carry}}$$\\phantom{0}$ | \n${\\var{ab0t2last}}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
\n | $\\color{red}{\\var{ab1t1last}}$ | \n${\\var{ab1t0last}}$ | \n${0}$ | \n\n |
We now multiply the final pair of digits, that is, $\\color{green}{\\var{abot[1]}\\times \\var{atop[2]}}$.
\nThis just gives us $\\var{ab1t2}$ so we write $\\var{ab1t2}$ under the line in the thousands column.
\nThis gives us $\\var{ab1t2}$ so we write this under the line with the $\\var{ab1t2last}$ in the thousands column.
\nThis gives us $\\var{ab1t2}$ but we have to add the $\\var{ab1t1carry}$ we carried earlier and so we write $\\var{ab0t2pluscarry}$ under the line with the $\\var{ab1t2last}$ in the thousands column.
\nThis gives us $\\var{ab1t2}$ but we have to add the $\\var{ab1t1carry}$ we carried earlier and so we write $\\var{ab1t2pluscarry}$ under the line in the thousands column.
\n\n\n\n | \n | $\\overset{{\\var{ab1t1carry}}}{\\color{green}{\\var{atop[2]}}}$ $\\overset{\\phantom{1}}{\\color{green}{\\var{atop[2]}}}$ | \n${\\overset{{\\var{ab1t0carry}}}{{\\var{atop[1]}}}}$ ${\\overset{\\phantom{1}}{\\var{atop[1]}}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | \n | \n | $\\color{green}{\\var{abot[1]}}$ | \n$\\var{abot[0]}$ | \n\n |
\n | $\\var{ab0t2carry}$$\\phantom{0}$ | \n${\\var{ab0t2last}}$ | \n${\\var{ab0t1last}}$ | \n${\\var{ab0t0last}}$ | \n\n |
$\\color{red}{\\var{ab1t2carry}}$$\\phantom{0}$ | \n$\\color{red}{\\var{ab1t2last}}$ | \n${\\var{ab1t1last}}$ | \n${\\var{ab1t0last}}$ | \n${0}$ | \n\n |
We now add the two results to get the total, that is, $\\color{green}{\\var{asum1}+\\var{asum2}}$.
\n\n\n | \n | $\\overset{{\\var{ab1t1carry}}}{\\var{atop[2]}}$ $\\overset{\\phantom{1}}{\\var{atop[2]}}$ | \n$\\overset{{\\var{ab1t0carry}}}{\\var{atop[1]}}$ $\\overset{\\phantom{1}}{\\var{atop[1]}}$ | \n$\\overset{\\phantom{1}}{\\var{atop[0]}}$ | \n$\\times$ | \n
\n | \n | \n | $\\var{abot[1]}$ | \n$\\var{abot[0]}$ | \n\n |
\n | $\\color{green}{\\var{ab0t2carry}}$$\\phantom{0}$ | \n$\\color{green}{\\var{ab0t2last}}$ | \n$\\color{green}{\\var{ab0t1last}}$ | \n$\\color{green}{\\var{ab0t0last}}$ | \n$+$ | \n
$\\color{green}{\\var{ab1t2carry}}$$\\phantom{0}$ | \n$\\color{green}{\\var{ab1t2last}}$ | \n$\\color{green}{\\var{ab1t1last}}$ | \n$\\color{green}{\\var{ab1t0last}}$ | \n$\\color{green}{0}$ | \n\n |
$\\color{red}{\\var{aanstth}}$ $\\phantom{0}$ | \n$\\color{red}{\\var{aanstho}}$ | \n$\\color{red}{\\var{aanshun}}$ | \n$\\color{red}{\\var{aansten}}$ | \n$\\color{red}{\\var{aansone}}$ | \n\n |
The answer is therefore $\\var{aans}$.
"}], "gaps": [{"type": "numberentry", "useCustomName": false, "customName": "", "marks": 1, "scripts": {}, "customMarkingAlgorithm": "", "extendBaseMarkingAlgorithm": true, "unitTests": [], "showCorrectAnswer": true, "showFeedbackIcon": true, "variableReplacements": [], "variableReplacementStrategy": "originalfirst", "nextParts": [], "suggestGoingBack": false, "adaptiveMarkingPenalty": 0, "exploreObjective": null, "minValue": "aans", "maxValue": "aans", "correctAnswerFraction": false, "allowFractions": false, "mustBeReduced": false, "mustBeReducedPC": 0, "displayAnswer": "", "showFractionHint": true, "notationStyles": ["plain", "en", "si-en"], "correctAnswerStyle": "plain"}], "sortAnswers": false}], "partsMode": "all", "maxMarks": 0, "objectives": [], "penalties": [], "objectiveVisibility": "always", "penaltyVisibility": "always"}]}], "showstudentname": true, "name": "Addition, subtraction and multiplication algorithms", "timing": {"allowPause": true, "timedwarning": {"action": "none", "message": ""}, "timeout": {"action": "none", "message": ""}}, "navigation": {"showresultspage": "oncompletion", "preventleave": true, "showfrontpage": true, "allowregen": true, "onleave": {"action": "none", "message": ""}, "reverse": true, "browse": true}, "showQuestionGroupNames": false, "feedback": {"showanswerstate": true, "advicethreshold": 0, "allowrevealanswer": true, "feedbackmessages": [], "showactualmark": true, "showtotalmark": true, "intro": ""}, "type": "exam", "contributors": [{"name": "Ben Brawn", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/605/"}], "extensions": [], "custom_part_types": [], "resources": []}