{"id":665,"date":"2026-08-15T14:43:48","date_gmt":"2026-08-15T07:43:48","guid":{"rendered":"https:\/\/app.mitunet.com\/home\/?p=665"},"modified":"2026-08-15T18:12:34","modified_gmt":"2026-08-15T11:12:34","slug":"may-tinh-online","status":"publish","type":"post","link":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/","title":{"rendered":"M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed"},"content":{"rendered":"<p>M\u00e1y t\u00ednh online mi\u1ec5n ph\u00ed l\u00e0 gi\u1ea3i ph\u00e1p nhanh ch\u00f3ng \u0111\u1ec3 th\u1ef1c hi\u1ec7n c\u00e1c ph\u00e9p t\u00ednh tr\u1ef1c tuy\u1ebfn ngay tr\u00ean tr\u00ecnh duy\u1ec7t. Kh\u00f4ng ch\u1ec9 h\u1ed7 tr\u1ee3 nh\u1eefng ph\u00e9p t\u00ednh c\u01a1 b\u1ea3n nh\u01b0 c\u1ed9ng, tr\u1eeb, nh\u00e2n, chia, c\u00f4ng c\u1ee5 c\u00f2n c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p c\u00e1c ch\u1ee9c n\u0103ng n\u00e2ng cao nh\u01b0 ph\u1ea7n tr\u0103m, c\u0103n b\u1eadc hai, l\u0169y th\u1eeba, s\u1ed1 th\u1eadp ph\u00e2n v\u00e0 nhi\u1ec1u ph\u00e9p t\u00ednh to\u00e1n h\u1ecdc kh\u00e1c. V\u1edbi kh\u1ea3 n\u0103ng s\u1eed d\u1ee5ng tr\u1ef1c ti\u1ebfp m\u00e0 kh\u00f4ng c\u1ea7n c\u00e0i \u0111\u1eb7t, m\u00e1y t\u00ednh online gi\u00fap ti\u1ebft ki\u1ec7m th\u1eddi gian v\u00e0 mang l\u1ea1i tr\u1ea3i nghi\u1ec7m t\u00ednh to\u00e1n thu\u1eadn ti\u1ec7n tr\u00ean m\u1ecdi thi\u1ebft b\u1ecb.<\/p>\n<div id=\"casio-pro-853658\" class=\"cp2\" data-cp2>\n  <header class=\"cp2-head\">\n    <div class=\"cp2-logo\"><b>CASIO PRO<\/b><small>ADVANCED ONLINE CALCULATOR<\/small><\/div>\n    <div class=\"cp2-head-actions\">\n      <button type=\"button\" data-a=\"theme\" title=\"S\u00e1ng\/T\u1ed1i\">\u2600<\/button>\n      <button type=\"button\" data-a=\"history\" title=\"L\u1ecbch s\u1eed\">\u21ba<\/button>\n      <button type=\"button\" data-a=\"settings\" title=\"C\u00e0i \u0111\u1eb7t\">\u2699<\/button>\n    <\/div>\n  <\/header>\n\n  <div class=\"cp2-status\">\n    <b data-mode>COMP<\/b><span data-angle>DEG<\/span><span data-io>MathIO<\/span><span data-mem>M:0<\/span>\n    <i><\/i><button type=\"button\" data-a=\"mode\">MODE<\/button><button type=\"button\" data-a=\"angle\">DEG<\/button>\n  <\/div>\n\n  <section class=\"cp2-screen\">\n    <div class=\"cp2-flags\"><span data-shift><\/span><span data-alpha><\/span><span data-indicator><\/span><\/div>\n    <div class=\"cp2-expr\" data-expr tabindex=\"0\">0<\/div>\n    <div class=\"cp2-result\" data-result>0<\/div>\n    <div class=\"cp2-error\" data-error><\/div>\n  <\/section>\n\n  <nav class=\"cp2-quick\">\n    <button data-a=\"mode\">MODE<\/button><button data-a=\"fraction\">a b\/c<\/button>\n    <button data-a=\"s2d\">S\u2194D<\/button><button data-a=\"clear\">AC<\/button>\n  <\/nav>\n\n  <main class=\"cp2-keys\">\n    <div class=\"cp2-row\">\n      <button class=\"fn\" data-k=\"SHIFT\">SHIFT<\/button><button class=\"fn\" data-k=\"ALPHA\">ALPHA<\/button>\n      <button class=\"nav\" data-k=\"LEFT\">\u25c0<\/button><button class=\"nav\" data-k=\"RIGHT\">\u25b6<\/button><button class=\"danger\" data-k=\"DEL\">DEL<\/button>\n    <\/div>\n    <div class=\"cp2-row\">\n      <button class=\"fn\" data-k=\"sin(\">sin<\/button><button class=\"fn\" data-k=\"cos(\">cos<\/button><button class=\"fn\" data-k=\"tan(\">tan<\/button>\n      <button class=\"fn\" data-k=\"asin(\">sin\u207b\u00b9<\/button><button class=\"fn\" data-k=\"acos(\">cos\u207b\u00b9<\/button>\n    <\/div>\n    <div class=\"cp2-row\">\n      <button class=\"fn\" data-k=\"atan(\">tan\u207b\u00b9<\/button><button class=\"fn\" data-k=\"log(\">log<\/button><button class=\"fn\" data-k=\"ln(\">ln<\/button>\n      <button class=\"fn\" data-k=\"sqrt(\">\u221a<\/button><button class=\"fn\" data-k=\"cbrt(\">\u221b<\/button>\n    <\/div>\n    <div class=\"cp2-row\">\n      <button class=\"fn\" data-k=\"^2\">x\u00b2<\/button><button class=\"fn\" data-k=\"^\">x\u02b8<\/button><button class=\"fn\" data-k=\"^(-1)\">x\u207b\u00b9<\/button>\n      <button class=\"fn\" data-k=\"!\">x!<\/button><button class=\"fn\" data-k=\"%\">%<\/button>\n    <\/div>\n    <div class=\"cp2-row\">\n      <button class=\"fn\" data-k=\"(\">(<\/button><button class=\"fn\" data-k=\")\">)<\/button><button class=\"fn\" data-k=\"pi\">\u03c0<\/button>\n      <button class=\"fn\" data-k=\"e\">e<\/button><button class=\"fn\" data-k=\"Ans\">Ans<\/button>\n    <\/div>\n\n    <div class=\"cp2-grid\">\n      <button data-k=\"7\">7<\/button><button data-k=\"8\">8<\/button><button data-k=\"9\">9<\/button><button class=\"op\" data-k=\"\/\">\u00f7<\/button><button class=\"mem\" data-k=\"MC\">MC<\/button>\n      <button data-k=\"4\">4<\/button><button data-k=\"5\">5<\/button><button data-k=\"6\">6<\/button><button class=\"op\" data-k=\"*\">\u00d7<\/button><button class=\"mem\" data-k=\"MR\">MR<\/button>\n      <button data-k=\"1\">1<\/button><button data-k=\"2\">2<\/button><button data-k=\"3\">3<\/button><button class=\"op\" data-k=\"-\">\u2212<\/button><button class=\"mem\" data-k=\"M+\">M+<\/button>\n      <button data-k=\"0\">0<\/button><button data-k=\".\">.<\/button><button data-k=\",\" data-k2=\",\">,<\/button><button class=\"op\" data-k=\"+\">+<\/button><button class=\"mem\" data-k=\"M-\">M\u2212<\/button>\n      <button data-k=\"10^(\">10\u02e3<\/button><button data-k=\"exp(\">e\u02e3<\/button><button data-k=\"abs(\">abs<\/button><button class=\"op equal\" data-k=\"=\">=<\/button><button class=\"fn\" data-k=\"S2D\">S\u2194D<\/button>\n    <\/div>\n\n    <div class=\"cp2-extra\">\n      <button data-k=\"nCr(\">nCr<\/button><button data-k=\"nPr(\">nPr<\/button><button data-k=\"gcd(\">GCD<\/button><button data-k=\"lcm(\">LCM<\/button>\n      <button data-k=\"floor(\">floor<\/button><button data-k=\"ceil(\">ceil<\/button><button data-k=\"round(\">round<\/button><button data-k=\"rand\">Ran#<\/button>\n    <\/div>\n\n    <div class=\"cp2-protools\">\n      <button data-a=\"equations\">H\u1ec6 PT<\/button><button data-a=\"polynomial\">B\u1eacC 2\/3<\/button>\n      <button data-a=\"matrixpro\">MATRIX PRO<\/button><button data-a=\"vectorpro\">VECTOR PRO<\/button>\n      <button data-a=\"regression\">REGRESSION<\/button><button data-a=\"complexpro\">COMPLEX PRO<\/button>\n      <button data-a=\"fractionpro\">FRACTION<\/button><button data-a=\"calcpro\">CALC PRO<\/button>\n    <\/div>\n    <div class=\"cp2-modes\">\n      <button data-a=\"solver\">EQN \/ SOLVE<\/button><button data-a=\"table\">TABLE<\/button><button data-a=\"stat\">STAT<\/button>\n      <button data-a=\"base\">BASE-N<\/button><button data-a=\"matrix\">MATRIX<\/button><button data-a=\"vector\">VECTOR<\/button>\n      <button data-a=\"complex\">COMPLEX<\/button><button data-a=\"convert\">CONVERTER<\/button><button data-a=\"calc\">CALC<\/button>\n    <\/div>\n  <\/main>\n\n  <div class=\"cp2-modal\" data-modal hidden>\n    <div class=\"cp2-card\"><div class=\"cp2-card-head\"><b data-title>MODE<\/b><button data-a=\"close\">\u00d7<\/button><\/div><div class=\"cp2-body\" data-body><\/div><\/div>\n  <\/div>\n<\/div>\n\n<style>\n#casio-pro-853658{\n--b:#e8edf3;--p:#f7f9fc;--p2:#e7ecf2;--t:#111827;--m:#64748b;--k:#fff;--a:#2563eb;--op:#dbeafe;--fn:#e1e8f0;--err:#fee2e2;\nwidth:min(100%,590px);height:min(900px,calc(100dvh - 18px));min-height:570px;margin:9px auto;\ndisplay:flex;flex-direction:column;overflow:hidden;position:relative;isolation:isolate;border:1px solid var(--b);\nborder-radius:22px;background:var(--b);color:var(--t);box-shadow:0 20px 65px rgba(15,23,42,.17);\nfont-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif\n}\n#casio-pro-853658.dark{--b:#344052;--p:#121923;--p2:#202b3a;--t:#f8fafc;--m:#aab6c7;--k:#182230;--a:#60a5fa;--op:#18385c;--fn:#253246;--err:#4b252c;box-shadow:0 22px 75px rgba(0,0,0,.45)}\n#casio-pro-853658 *{box-sizing:border-box}\n.cp2-head{flex:0 0 auto;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;background:var(--p);border-bottom:1px solid var(--b)}\n.cp2-logo{display:flex;gap:7px;align-items:baseline}.cp2-logo b{letter-spacing:.09em;font-size:15px}.cp2-logo small{font-size:8px;color:var(--m);letter-spacing:.08em}\n.cp2-head-actions{display:flex;gap:6px}.cp2-head button,.cp2-status button,.cp2-quick button,.cp2-card button{border:1px solid var(--b);background:var(--p2);color:var(--t);border-radius:8px;cursor:pointer}\n.cp2-head button{width:34px;height:31px}.cp2-status{height:34px;display:flex;gap:9px;align-items:center;padding:5px 10px;background:var(--p);border-bottom:1px solid var(--b);font-size:10px;color:var(--m)}\n.cp2-status i{flex:1}.cp2-status button{padding:5px 8px;font-size:9px;font-weight:700}.cp2-status b{color:var(--a)}\n.cp2-screen{flex:0 0 auto;margin:9px 10px 8px;padding:9px 12px;border:1px solid var(--b);border-radius:15px;background:var(--p);min-height:150px}\n.cp2-flags{height:14px;color:var(--a);font-size:9px;font-weight:800;display:flex;gap:10px}.cp2-expr{font:20px\/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;min-height:50px;max-height:74px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;outline:0}\n.cp2-result{text-align:right;min-height:38px;font:700 25px\/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto;white-space:nowrap}.cp2-error{text-align:right;color:#dc2626;min-height:16px;font-size:10px}\n.cp2-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 10px 8px}.cp2-quick button{height:31px;font-size:9px;font-weight:800}\n.cp2-keys{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 10px 13px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}\n.cp2-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:6px}.cp2-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:6px}\n.cp2-extra{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:6px}.cp2-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-bottom:4px}\n.cp2-protools{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:6px}\n.cp2-protools button{min-height:39px;background:var(--p2);color:var(--a);font-size:9px;border:1px solid var(--b);border-radius:10px;font-weight:800}\n.cp2-sect{padding:10px;border:1px solid var(--b);border-radius:10px;background:var(--p2);font-size:11px}\n.cp2-table{width:100%;border-collapse:collapse;font-size:10px}.cp2-table td,.cp2-table th{border:1px solid var(--b);padding:5px;text-align:right}\n\n.cp2-keys button{min-height:42px;border:1px solid var(--b);border-radius:10px;background:var(--k);color:var(--t);font-weight:750;cursor:pointer;box-shadow:0 1px 0 rgba(0,0,0,.06)}\n.cp2-keys button:active{transform:translateY(1px);filter:brightness(.95)}.cp2-keys .fn{background:var(--fn)}.cp2-keys .op{background:var(--op);color:var(--a);font-size:17px}.cp2-keys .mem{background:var(--p2);color:var(--a);font-size:10px}.cp2-keys .danger{background:var(--err);color:#b91c1c}.cp2-keys .nav{font-size:18px}.cp2-keys .equal{font-size:18px}\n.cp2-modes button{background:var(--p2);color:var(--a);font-size:9px}.cp2-modal{position:absolute;inset:0;z-index:50;background:rgba(2,6,23,.62);display:flex;align-items:flex-end;padding:10px}.cp2-modal[hidden]{display:none}\n.cp2-card{width:100%;max-height:84%;overflow:hidden;border:1px solid var(--b);border-radius:17px;background:var(--p);box-shadow:0 20px 80px rgba(0,0,0,.35)}\n.cp2-card-head{height:49px;padding:10px 13px;border-bottom:1px solid var(--b);display:flex;justify-content:space-between;align-items:center}.cp2-card-head button{width:31px;height:29px;font-size:18px}\n.cp2-body{padding:13px;max-height:min(calc(84vh - 55px),calc(100dvh - 115px));overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cp2-form{display:grid;gap:9px}.cp2-form label{font-size:10px;color:var(--m);display:grid;gap:4px}.cp2-form input,.cp2-form select{width:100%;padding:9px;border:1px solid var(--b);border-radius:8px;background:var(--k);color:var(--t)}\n.cp2-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.cp2-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cp2-out{padding:10px;border-radius:9px;background:var(--p2);white-space:pre-wrap;overflow:auto;font:12px\/1.5 ui-monospace,monospace}\n.cp2-list{display:grid;gap:6px}.cp2-item{padding:9px;border:1px solid var(--b);border-radius:8px;cursor:pointer}.cp2-item small{color:var(--m)}\n.cp2-toolbtn{padding:9px;border:1px solid var(--b);border-radius:8px;background:var(--p2);color:var(--t);cursor:pointer;font-weight:700}\n@media(max-width:600px){\n#casio-pro-853658{width:100%;height:calc(100dvh - 6px);min-height:500px;margin:3px auto;border-radius:17px}\n.cp2-screen{min-height:132px;flex-shrink:0}.cp2-protools{grid-template-columns:repeat(4,1fr)}.cp2-protools button{min-height:38px}.cp2-expr{font-size:18px;max-height:63px}.cp2-result{font-size:22px}.cp2-keys button{min-height:46px}.cp2-keys{padding-bottom:max(13px,env(safe-area-inset-bottom))}\n}\n<\/style>\n\n<script>\n(()=>{const R=document.getElementById(\"casio-pro-853658\");if(!R||R.dataset.ok)return;R.dataset.ok=1;\nconst $=s=>R.querySelector(s), esc=s=>String(s).replace(\/[&<>\"']\/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]));\nlet E='',C=0,ANS=+(localStorage.cp2ans||0),MEM=+(localStorage.cp2mem||0),ANG=localStorage.cp2ang||'DEG',MODE=localStorage.cp2mode||'COMP',THEME=localStorage.cp2theme||'light',IO=localStorage.cp2io||'MathIO',SHIFT=false,ALPHA=false;\nlet HIST=[];try{const h=JSON.parse(localStorage.cp2hist||'[]');HIST=Array.isArray(h)?h:[]}catch(_){HIST=[];}\nif(THEME==='dark')R.classList.add('dark');\n\nfunction save(){localStorage.cp2ans=ANS;localStorage.cp2mem=MEM;localStorage.cp2ang=ANG;localStorage.cp2mode=MODE;localStorage.cp2theme=THEME;localStorage.cp2io=IO;localStorage.cp2hist=JSON.stringify(HIST.slice(0,100))}\nfunction fmt(x){if(!Number.isFinite(x))throw Error('Math Error');if(Math.abs(x)<1e-12)x=0;return Number(x.toPrecision(13)).toString()}\nfunction render(){ $('[data-expr]').textContent=E||'0';$('[data-mode]').textContent=MODE;$('[data-angle]').textContent=ANG;$('[data-mem]').textContent='M:'+fmt(MEM);$('[data-io]').textContent=IO;$('[data-shift]').textContent=SHIFT?'SHIFT':'';$('[data-alpha]').textContent=ALPHA?'ALPHA':'';$('[data-a=\"angle\"]').textContent=ANG;save()}\nfunction modal(title,html,init){$('[data-title]').textContent=title;$('[data-body]').innerHTML=html;$('[data-modal]').hidden=false;if(typeof init==='function')init($('[data-body]'))}\nfunction close(){$('[data-modal]').hidden=true}\nfunction insert(s){if(E==='0'&&s!=='('&&!\/^[+\\-*\/^%,]\/.test(s)){E='';C=0}E=E.slice(0,C)+s+E.slice(C);C+=s.length;render()}\nfunction del(){if(C){E=E.slice(0,C-1)+E.slice(C);C--}render()}\nfunction clear(){E='';C=0;$('[data-result]').textContent='0';$('[data-error]').textContent='';render()}\nfunction angleIn(x){return ANG==='DEG'?x*Math.PI\/180:ANG==='GRAD'?x*Math.PI\/200:x}\nfunction angleOut(x){return ANG==='DEG'?x*180\/Math.PI:ANG==='GRAD'?x*200\/Math.PI:x}\n\nfunction tokenize(s){\ns=s.replace(\/\u221a\/g,'sqrt').replace(\/\\s+\/g,'');\nconst names=['asin','acos','atan','sqrt','cbrt','floor','ceil','round','nCr','nPr','gcd','lcm','sin','cos','tan','log','ln','abs','exp','fact','mod','Ans','pi','e','rand','x'];\nlet a=[],i=0;\nwhile(i<s.length){\nlet ch=s[i];\nif(\/[0-9.]\/.test(ch)){let j=i,d=0;while(j<s.length&&\/[0-9.]\/.test(s[j])){if(s[j]==='.')d++;j++}if(d>1)throw Error('S\u1ed1 kh\u00f4ng h\u1ee3p l\u1ec7');if(\/[eE]\/.test(s[j]||'')){j++;if(\/[+-]\/.test(s[j]||''))j++;let z=j;while(j<s.length&&\/[0-9]\/.test(s[j]))j++;if(j===z)throw Error('S\u1ed1 m\u0169 e kh\u00f4ng h\u1ee3p l\u1ec7')}a.push({t:'n',v:Number(s.slice(i,j))});i=j;continue}\nif(\/[A-Za-z_]\/.test(ch)){let hit=names.filter(n=>s.startsWith(n,i)).sort((a,b)=>b.length-a.length)[0];if(!hit)throw Error('T\u00ean kh\u00f4ng h\u1ee3p l\u1ec7');a.push({t:'id',v:hit});i+=hit.length;continue}\nif('+-*\/^%(),!'.includes(ch)){a.push({t:ch,v:ch});i++;continue}throw Error('K\u00fd t\u1ef1 kh\u00f4ng h\u1ee3p l\u1ec7')}\nconst o=[],L=q=>q&&(q.t==='n'||q.t==='id'||q.t===')'||q.t==='!'),Q=q=>q&&(q.t==='n'||q.t==='id'||q.t==='(');\nfor(const q of a){const p=o[o.length-1];if(L(p)&&Q(q)&&!(q.t==='id'&&['mod','nCr','nPr'].includes(q.v))&&!(p.t==='id'&&['mod','nCr','nPr'].includes(p.v))&&!(p.t==='id'&&q.t==='('&&['sin','cos','tan','asin','acos','atan','sqrt','cbrt','log','ln','abs','exp','floor','ceil','round','fact','gcd','lcm','nCr','nPr'].includes(p.v)))o.push({t:'*',v:'*'});o.push(q)}return o\n}\nfunction factorial(n){if(n<0||!Number.isInteger(n)||n>170)throw Error('x! c\u1ea7n s\u1ed1 nguy\u00ean 0\u2013170');let r=1;for(let i=2;i<=n;i++)r*=i;return r}\nfunction gcd(a,b){a=Math.abs(Math.trunc(a));b=Math.abs(Math.trunc(b));while(b)[a,b]=[b,a%b];return a}\nfunction lcm(a,b){if(a===0||b===0)return 0;return Math.abs(a*b)\/gcd(a,b)}\nfunction comb(n,r){if(!Number.isInteger(n)||!Number.isInteger(r)||n<0||r<0||r>n)throw Error('nCr kh\u00f4ng h\u1ee3p l\u1ec7');return factorial(n)\/(factorial(r)*factorial(n-r))}\nfunction perm(n,r){if(!Number.isInteger(n)||!Number.isInteger(r)||n<0||r<0||r>n)throw Error('nPr kh\u00f4ng h\u1ee3p l\u1ec7');return factorial(n)\/factorial(n-r)}\n\nfunction evaluate(s,vars={}){\nconst T=tokenize(s);let p=0;\nconst pk=()=>T[p],take=t=>{if(!T[p]||(t&&T[p].t!==t))throw Error('Thi\u1ebfu to\u00e1n t\u1eed\/ngo\u1eb7c');return T[p++]};\nfunction primary(){\nlet t=pk();if(!t)throw Error('Thi\u1ebfu gi\u00e1 tr\u1ecb');\nif(t.t==='n'){p++;return t.v}\nif(t.t==='id'){p++;let id=t.v;if(id==='pi')return Math.PI;if(id==='e')return Math.E;if(id==='Ans')return ANS;if(id==='rand')return Math.random();if(id==='x')return vars.x??0;\nif(pk()?.t==='('){take('(');let a=expr(),b=null;if(pk()?.t===','){take(',');b=expr()}take(')');return fn(id,a,b)}\nthrow Error('Thi\u1ebfu ngo\u1eb7c cho '+id)}\nif(t.t==='('){take('(');let v=expr();take(')');return v}throw Error('Thi\u1ebfu s\u1ed1')}\nfunction post(){let v=primary();while(pk()?.t==='!'||pk()?.t==='%'){if(pk().t==='!'){take('!');v=factorial(v)}else{take('%');v\/=100}}return v}\nfunction power(){let v=post();if(pk()?.t==='^'){take('^');v=Math.pow(v,unary())}return v}\nfunction unary(){if(pk()?.t==='+'){take('+');return unary()}if(pk()?.t==='-'){take('-');return -unary()}return power()}\nfunction term(){let v=unary();while(pk()){let q=pk(),isOp=q.t==='*'||q.t==='\/'||(q.t==='id'&&['mod','nCr','nPr'].includes(q.v));if(!isOp)break;let o=take(),b=unary();if(o.t==='*')v*=b;else if(o.t==='\/'){if(b===0)throw Error('Kh\u00f4ng th\u1ec3 chia cho 0');v\/=b}else if(o.v==='mod'){if(b===0)throw Error('Kh\u00f4ng th\u1ec3 mod cho 0');v%=b}else if(o.v==='nCr')v=comb(v,b);else v=perm(v,b)}return v}\nfunction expr(){let v=term();while(pk()?.t==='+'||pk()?.t==='-'){let o=take().t,b=term();v=o==='+'?v+b:v-b}return v}\nlet v=expr();if(p<T.length)throw Error('Bi\u1ec3u th\u1ee9c ch\u01b0a ho\u00e0n ch\u1ec9nh');return v}\n\nfunction fn(id,a,b){\nconst z=angleIn(a);switch(id){\ncase'sin':return Math.sin(z);case'cos':return Math.cos(z);case'tan':{const c=Math.cos(z);if(Math.abs(c)<1e-12)throw Error('Math ERROR: tan kh\u00f4ng x\u00e1c \u0111\u1ecbnh');return Math.tan(z);}\ncase'asin':return angleOut(Math.asin(a));case'acos':return angleOut(Math.acos(a));case'atan':return angleOut(Math.atan(a));\ncase'sqrt':if(a<0)throw Error('\u221a s\u1ed1 \u00e2m');return Math.sqrt(a);case'cbrt':return Math.cbrt(a);\ncase'log':if(a<=0)throw Error('log c\u1ea7n s\u1ed1 d\u01b0\u01a1ng');return Math.log10(a);case'ln':if(a<=0)throw Error('ln c\u1ea7n s\u1ed1 d\u01b0\u01a1ng');return Math.log(a);\ncase'abs':return Math.abs(a);case'exp':return Math.exp(a);case'floor':return Math.floor(a);case'ceil':return Math.ceil(a);case'round':return Math.round(a);\ncase'fact':return factorial(a);case'nCr':return comb(a,b);case'nPr':return perm(a,b);case'gcd':return gcd(a,b);case'lcm':return lcm(a,b);default:throw Error('H\u00e0m ch\u01b0a h\u1ed7 tr\u1ee3')}\n}\nfunction calc(){if(!E)return;try{let v=evaluate(E);ANS=v;$('[data-result]').textContent=fmt(v);$('[data-error]').textContent='';HIST.unshift({e:E,r:fmt(v),d:new Date().toLocaleString()});render()}catch(e){$('[data-result]').textContent='Error';$('[data-error]').textContent=e.message}}\nfunction frac(x){if(!Number.isFinite(x))return String(x);let sg=x<0?-1:1;x=Math.abs(x),bn=Math.round(x),bd=1,be=Math.abs(x-bn);for(let d=1;d<=10000;d++){let n=Math.round(x*d),er=Math.abs(x-n\/d);if(er<be){be=er;bn=n;bd=d;if(er<1e-12)break}}let g=gcd(bn,bd);return(sg*bn\/g)+'\/'+(bd\/g)}\nfunction showHistory(){let h=HIST.length?HIST.map((x,i)=>`<div class=\"cp2-item\" data-h=\"${i}\"><b>${esc(x.e)}<\/b><br><small>${esc(x.d)} \u2192 ${esc(x.r)}<\/small><\/div>`).join(''):'<p>Ch\u01b0a c\u00f3 l\u1ecbch s\u1eed.<\/p>';modal('L\u1ecaCH S\u1eec',`<div class=\"cp2-list\">${h}<\/div><button class=\"cp2-toolbtn\" data-clear-h style=\"margin-top:9px;width:100%\">X\u00f3a l\u1ecbch s\u1eed<\/button>`)}\nfunction showMode(){modal('MODE',`<div class=\"cp2-grid3\">${['COMP','STAT','TABLE','EQN','BASE-N','MATRIX','VECTOR','COMPLEX'].map(x=>`<button class=\"cp2-toolbtn\" data-mode-x=\"${x}\">${x}<\/button>`).join('')}<\/div><p style=\"color:var(--m);font-size:10px\">C\u00e1c ch\u1ebf \u0111\u1ed9 chuy\u00ean d\u1ee5ng m\u1edf b\u1eb1ng n\u00fat t\u01b0\u01a1ng \u1ee9ng ph\u00eda d\u01b0\u1edbi.<\/p>`)}\nfunction showSettings(){modal('C\u00c0I \u0110\u1eb6T',`<div class=\"cp2-form\"><label>G\u00f3c<select data-set-ang><option>DEG<\/option><option>RAD<\/option><option>GRAD<\/option><\/select><\/label><label>Hi\u1ec3n th\u1ecb<select data-set-io><option>MathIO<\/option><option>LineIO<\/option><\/select><\/label><label>Giao di\u1ec7n<select data-set-theme><option value=\"light\">S\u00e1ng<\/option><option value=\"dark\">T\u1ed1i<\/option><\/select><\/label><button class=\"cp2-toolbtn\" data-reset>\u0110\u1eb7t l\u1ea1i d\u1eef li\u1ec7u<\/button><\/div>`,()=>{$('[data-set-ang]').value=ANG;$('[data-set-io]').value=IO;$('[data-set-theme]').value=THEME})}\n\nfunction solver(){\nmodal('EQN \/ SOLVE',`<div class=\"cp2-form\"><label>f(x)=0<input data-sf value=\"x^2-5*x+6\"><\/label><div class=\"cp2-grid2\"><label>Min x<input data-smin value=\"-100\"><\/label><label>Max x<input data-smax value=\"100\"><\/label><\/div><button class=\"cp2-toolbtn\" data-run-solve>T\u00ecm nghi\u1ec7m<\/button><div class=\"cp2-out\" data-so>\u2014<\/div><\/div>`)\n}\nfunction table(){\nmodal('TABLE',`<div class=\"cp2-form\"><label>f(x)<input data-tf value=\"x^2+1\"><\/label><div class=\"cp2-grid3\"><label>Start<input data-ts value=\"-5\"><\/label><label>End<input data-te value=\"5\"><\/label><label>Step<input data-tp value=\"1\"><\/label><\/div><button class=\"cp2-toolbtn\" data-run-table>T\u1ea1o b\u1ea3ng<\/button><div class=\"cp2-out\" data-to>\u2014<\/div><\/div>`)\n}\nfunction stat(){\nmodal('STAT',`<div class=\"cp2-form\"><label>D\u1eef li\u1ec7u x, c\u00e1ch nhau b\u1eb1ng d\u1ea5u ph\u1ea9y<input data-sd value=\"1,2,3,4,5\"><\/label><label>y (t\u00f9y ch\u1ecdn, c\u00f9ng s\u1ed1 ph\u1ea7n t\u1eed)<input data-sy placeholder=\"2,4,6,8,10\"><\/label><button class=\"cp2-toolbtn\" data-run-stat>T\u00ednh<\/button><div class=\"cp2-out\" data-so2>\u2014<\/div><\/div>`)\n}\nfunction base(){\nmodal('BASE-N',`<div class=\"cp2-form\"><label>S\u1ed1 th\u1eadp ph\u00e2n<input data-bd value=\"255\"><\/label><button class=\"cp2-toolbtn\" data-run-base>\u0110\u1ed5i c\u01a1 s\u1ed1<\/button><div class=\"cp2-out\" data-bo>\u2014<\/div><\/div>`)\n}\nfunction matrix(){\nmodal('MATRIX',`<div class=\"cp2-form\"><select data-ms><option value=\"2\">2\u00d72<\/option><option value=\"3\">3\u00d73<\/option><\/select><div class=\"cp2-grid3\" data-minputs><\/div><div class=\"cp2-grid2\"><button class=\"cp2-toolbtn\" data-mdet>\u0110\u1ecbnh th\u1ee9c<\/button><button class=\"cp2-toolbtn\" data-minv>Ngh\u1ecbch \u0111\u1ea3o<\/button><\/div><div class=\"cp2-out\" data-mo>\u2014<\/div><\/div>`,body=>buildMatrix(body))\n}\nfunction buildMatrix(b){let n=+b.querySelector('[data-ms]').value,box=b.querySelector('[data-minputs]');box.innerHTML='';box.style.gridTemplateColumns=`repeat(${n},1fr)`;for(let i=0;i<n*n;i++)box.innerHTML+=`<input data-mi value=\"${i%(n+1)===0?1:0}\">`}\nfunction readMatrix(b){let n=+b.querySelector('[data-ms]').value,a=[...b.querySelectorAll('[data-mi]')].map(x=>+x.value);return{n,a}}\nfunction det(A,n){if(n===1)return A[0];if(n===2)return A[0]*A[3]-A[1]*A[2];let s=0;for(let c=0;c<n;c++){let sub=[];for(let r=1;r<n;r++)for(let k=0;k<n;k++)if(k!==c)sub.push(A[r*n+k]);s+=(c%2?-1:1)*A[c]*det(sub,n-1)}return s}\nfunction inverse(A,n){let M=[];for(let r=0;r<n;r++){M[r]=[];for(let c=0;c<n;c++)M[r][c]=A[r*n+c];for(let c=0;c<n;c++)M[r].push(r===c?1:0)}\nfor(let c=0;c<n;c++){let p=c;for(let r=c+1;r<n;r++)if(Math.abs(M[r][c])>Math.abs(M[p][c]))p=r;if(Math.abs(M[p][c])<1e-12)throw Error('Ma tr\u1eadn kh\u00f4ng kh\u1ea3 ngh\u1ecbch');[M[c],M[p]]=[M[p],M[c]];let q=M[c][c];for(let j=0;j<2*n;j++)M[c][j]\/=q;for(let r=0;r<n;r++)if(r!==c){let f=M[r][c];for(let j=0;j<2*n;j++)M[r][j]-=f*M[c][j]}}return M.map(r=>r.slice(n))}\nfunction vector(){modal('VECTOR',`<div class=\"cp2-form\"><div class=\"cp2-grid3\"><label>A\u2081<input data-va value=\"1\"><\/label><label>A\u2082<input data-vb value=\"2\"><\/label><label>A\u2083<input data-vc value=\"3\"><\/label><label>B\u2081<input data-vd value=\"4\"><\/label><label>B\u2082<input data-ve value=\"5\"><\/label><label>B\u2083<input data-vf value=\"6\"><\/label><\/div><button class=\"cp2-toolbtn\" data-run-vector>T\u00ednh<\/button><div class=\"cp2-out\" data-vo>\u2014<\/div><\/div>`)}\nfunction complex(){modal('COMPLEX',`<div class=\"cp2-form\"><div class=\"cp2-grid2\"><label>a<input data-ca value=\"3\"><\/label><label>b<input data-cb value=\"4\"><\/label><\/div><button class=\"cp2-toolbtn\" data-run-complex>T\u00ednh<\/button><div class=\"cp2-out\" data-co>\u2014<\/div><\/div>`)}\nfunction converter(){modal('UNIT CONVERTER',`<div class=\"cp2-form\"><label>Lo\u1ea1i<select data-ct><option value=\"length\">\u0110\u1ed9 d\u00e0i<\/option><option value=\"mass\">Kh\u1ed1i l\u01b0\u1ee3ng<\/option><option value=\"area\">Di\u1ec7n t\u00edch<\/option><option value=\"temp\">Nhi\u1ec7t \u0111\u1ed9<\/option><option value=\"angle\">G\u00f3c<\/option><\/select><\/label><div class=\"cp2-grid2\"><label>T\u1eeb<select data-cf><\/select><\/label><label>Sang<select data-cc><\/select><\/label><\/div><label>Gi\u00e1 tr\u1ecb<input data-cv value=\"1\"><\/label><button class=\"cp2-toolbtn\" data-run-convert>\u0110\u1ed5i<\/button><div class=\"cp2-out\" data-co2>\u2014<\/div><\/div>`,body=>fillUnits(body))\n}\nconst UNITS={length:{m:1,km:1000,cm:.01,mm:.001,mi:1609.344,yd:.9144,ft:.3048,in:.0254},mass:{kg:1,g:.001,mg:.000001,lb:.45359237,oz:.0283495231},area:{\"m\u00b2\":1,\"km\u00b2\":1e6,\"cm\u00b2\":1e-4,ha:1e4,acre:4046.8564224},angle:{rad:1,deg:Math.PI\/180,grad:Math.PI\/200}};\nfunction fillUnits(b){let t=b.querySelector('[data-ct]').value,u=Object.keys(UNITS[t]||{C:1,F:1});b.querySelector('[data-cf]').innerHTML=u.map(x=>`<option>${x}<\/option>`).join('');b.querySelector('[data-cc]').innerHTML=u.map(x=>`<option>${x}<\/option>`).join('');if(t==='temp'){let h='<option>C<\/option><option>F<\/option><option>K<\/option>';b.querySelector('[data-cf]').innerHTML=h;b.querySelector('[data-cc]').innerHTML=h}}\nfunction calcTool(){modal('CALC',`<div class=\"cp2-form\"><label>Bi\u1ec3u th\u1ee9c<input data-calf value=\"2*sin(30)+sqrt(25)\"><\/label><button class=\"cp2-toolbtn\" data-run-calc>CALC<\/button><div class=\"cp2-out\" data-calo>\u2014<\/div><\/div>`)}\n\nfunction proEquations(){\n modal('H\u1ec6 PH\u01af\u01a0NG TR\u00ccNH',`<div class=\"cp2-form\">\n <label>Lo\u1ea1i h\u1ec7<select data-eqtype><option value=\"2\">2 \u1ea9n<\/option><option value=\"3\">3 \u1ea9n<\/option><\/select><\/label>\n <div data-eqinputs><\/div><button class=\"cp2-toolbtn\" data-eqrun>Gi\u1ea3i h\u1ec7<\/button><div class=\"cp2-out\" data-eqo>\u2014<\/div><\/div>`);\n const b=$('[data-body]'); buildEq(b);\n}\nfunction buildEq(b){\n const n=+b.querySelector('[data-eqtype]').value, box=b.querySelector('[data-eqinputs]');\n let h='<div class=\"cp2-form\">';\n for(let r=0;r<n;r++){h+='<div class=\"cp2-grid3\" style=\"grid-template-columns:repeat('+Math.min(4,n+1)+',1fr)\">';for(let c=0;c<n;c++)h+=`<input data-eqa=\"${r}-${c}\" value=\"${r===c?1:0}\" placeholder=\"a${r+1}${c+1}\">`;h+=`<input data-eqb=\"${r}\" value=\"${r+1}\" placeholder=\"b${r+1}\"><\/div>`}h+='<\/div>';box.innerHTML=h;\n}\nfunction solveLinear(b){\n const n=+b.querySelector('[data-eqtype]').value,A=Array.from({length:n},(_,r)=>Array.from({length:n},(_,c)=>+b.querySelector(`[data-eqa=\"${r}-${c}\"]`).value)),v=Array.from({length:n},(_,r)=>+b.querySelector(`[data-eqb=\"${r}\"]`).value);\n for(let c=0;c<n;c++){let p=c;for(let r=c+1;r<n;r++)if(Math.abs(A[r][c])>Math.abs(A[p][c]))p=r;if(Math.abs(A[p][c])<1e-12)throw Error('H\u1ec7 suy bi\u1ebfn ho\u1eb7c v\u00f4 nghi\u1ec7m\/v\u00f4 s\u1ed1 nghi\u1ec7m');[A[p],A[c]]=[A[c],A[p]];[v[p],v[c]]=[v[c],v[p]];for(let r=c+1;r<n;r++){let f=A[r][c]\/A[c][c];for(let j=c;j<n;j++)A[r][j]-=f*A[c][j];v[r]-=f*v[c]}}\n let x=Array(n).fill(0);for(let i=n-1;i>=0;i--){let s=v[i];for(let j=i+1;j<n;j++)s-=A[i][j]*x[j];x[i]=s\/A[i][i]}return x;\n}\nfunction polynomialPro(){\n modal('PH\u01af\u01a0NG TR\u00ccNH B\u1eacC 2 \/ 3',`<div class=\"cp2-form\">\n <label>B\u1eadc<select data-pdeg><option value=\"2\">2<\/option><option value=\"3\">3<\/option><\/select><\/label>\n <div class=\"cp2-grid3\" data-pcoef><\/div><button class=\"cp2-toolbtn\" data-prun>Gi\u1ea3i<\/button><div class=\"cp2-out\" data-po>\u2014<\/div><\/div>`);\n buildPoly($('[data-body]'));\n}\nfunction buildPoly(b){let n=+b.querySelector('[data-pdeg]').value,box=b.querySelector('[data-pcoef]');box.innerHTML='';for(let i=n;i>=0;i--)box.innerHTML+=`<label>a${i}<input data-pc=\"${i}\" value=\"${i===n?1:(i===0?-6:5)}\"><\/label>`}\nfunction cbrtReal(x){return x<0?-Math.pow(-x,1\/3):Math.pow(x,1\/3)}\nfunction rootsPoly(b){\n const n=+b.querySelector('[data-pdeg]').value,a=Array.from({length:n+1},(_,i)=>+b.querySelector(`[data-pc=\"${n-i}\"]`).value);\n if(n===2){\n   let [A,B,C]=a,D=B*B-4*A*C;\n   if(Math.abs(A)<1e-14)throw Error('a kh\u00f4ng \u0111\u01b0\u1ee3c b\u1eb1ng 0');\n   if(D>=-1e-14){\n     D=Math.max(0,D);\n     return ['x1 = '+fmt((-B+Math.sqrt(D))\/(2*A)),'x2 = '+fmt((-B-Math.sqrt(D))\/(2*A))].join('\\n');\n   }\n   let re=-B\/(2*A),im=Math.sqrt(-D)\/(2*Math.abs(A));\n   return `x1 = ${fmt(re)} + ${fmt(im)}i\\nx2 = ${fmt(re)} - ${fmt(im)}i`;\n }\n if(Math.abs(a[0])<1e-14)throw Error('a kh\u00f4ng \u0111\u01b0\u1ee3c b\u1eb1ng 0');\n const A=a[1]\/a[0],B=a[2]\/a[0],C=a[3]\/a[0];\n const p=B-A*A\/3, q=2*A*A*A\/27-A*B\/3+C;\n const D=q*q\/4+p*p*p\/27, shift=A\/3;\n if(Math.abs(D)<1e-14){\n   const u=cbrtReal(-q\/2);\n   const x1=2*u-shift, x2=-u-shift;\n   return `x1 = ${fmt(x1)}\\nx2 = ${fmt(x2)}\\nx3 = ${fmt(x2)}`;\n }\n if(D>0){\n   const u=cbrtReal(-q\/2+Math.sqrt(D)),v=cbrtReal(-q\/2-Math.sqrt(D));\n   const x=u+v-shift;\n   const re=-(u+v)\/2-shift, im=Math.sqrt(3)*(u-v)\/2;\n   return `x1 = ${fmt(x)}\\nx2 = ${fmt(re)} + ${fmt(im)}i\\nx3 = ${fmt(re)} - ${fmt(im)}i`;\n }\n const r=2*Math.sqrt(-p\/3),arg=Math.max(-1,Math.min(1,(3*q\/(2*p))*Math.sqrt(-3\/p))),th=Math.acos(arg)\/3;\n return [0,1,2].map(k=>'x'+(k+1)+' = '+fmt(r*Math.cos(th-2*Math.PI*k\/3)-shift)).join('\\n');\n}\nfunction solveSystem(A,bv){\n const n=A.length,M=A.map((r,i)=>r.slice().concat(bv[i]));\n for(let c=0;c<n;c++){let p=c;for(let r=c+1;r<n;r++)if(Math.abs(M[r][c])>Math.abs(M[p][c]))p=r;\n if(Math.abs(M[p][c])<1e-14)throw Error('H\u1ec7 kh\u00f4ng c\u00f3 nghi\u1ec7m duy nh\u1ea5t');[M[p],M[c]]=[M[c],M[p]];\n let q=M[c][c];for(let j=c;j<=n;j++)M[c][j]\/=q;for(let r=0;r<n;r++)if(r!==c){q=M[r][c];for(let j=c;j<=n;j++)M[r][j]-=q*M[c][j]}}\n return M.map(r=>r[n]);\n}\nfunction equationSystemPro(){\n modal('H\u1ec6 PH\u01af\u01a0NG TR\u00ccNH 2\u00d72',`<div class=\"cp2-form\"><div class=\"cp2-grid3\">${['a1','b1','c1','a2','b2','c2'].map((x,i)=>`<label>${x}<input data-eq=\"${x}\" value=\"${[1,1,5,2,-1,1][i]}\"><\/label>`).join('')}<\/div><button class=\"cp2-toolbtn\" data-eqsolve>Gi\u1ea3i h\u1ec7<\/button><div class=\"cp2-out\" data-eqo>\u2014<\/div><\/div>`);\n}\nfunction matrixPro(){\n const ui=(n,p)=>Array.from({length:n*n},(_,i)=>`<input data-${p}=\"${i}\" value=\"${i%n===Math.floor(i\/n)?1:0}\">`).join('');\n modal('MATRIX PRO',`<div class=\"cp2-form\"><div class=\"cp2-grid2\">\n <label>K\u00edch th\u01b0\u1edbc A<select data-mas><option>2<\/option><option selected>3<\/option><option>4<\/option><\/select><\/label>\n <label>K\u00edch th\u01b0\u1edbc B<select data-mbs><option>2<\/option><option selected>3<\/option><option>4<\/option><\/select><\/label><\/div>\n <div class=\"cp2-grid2\"><div><b>Ma tr\u1eadn A<\/b><div class=\"cp2-matrix\" data-ma>${ui(3,'ma')}<\/div><\/div><div><b>Ma tr\u1eadn B<\/b><div class=\"cp2-matrix\" data-mb>${ui(3,'mb')}<\/div><\/div><\/div>\n <div class=\"cp2-grid3\"><button class=\"cp2-toolbtn\" data-mop=\"add\">A+B<\/button><button class=\"cp2-toolbtn\" data-mop=\"sub\">A\u2212B<\/button><button class=\"cp2-toolbtn\" data-mop=\"mul\">A\u00d7B<\/button><button class=\"cp2-toolbtn\" data-mop=\"det\">det(A)<\/button><button class=\"cp2-toolbtn\" data-mop=\"inv\">A\u207b\u00b9<\/button><button class=\"cp2-toolbtn\" data-mop=\"tr\">A\u1d40<\/button><\/div>\n <div class=\"cp2-out\" data-mo>\u2014<\/div><\/div>`);\n}\nfunction buildMP(b){let n=+b.querySelector('[data-mpn]').value,box=b.querySelector('[data-mpbox]');box.innerHTML='<div class=\"cp2-grid3\" style=\"grid-template-columns:repeat('+n+',1fr)\">'+Array.from({length:n*n},(_,i)=>`<input data-mpa=\"${i}\" value=\"${i%(n+1)===0?1:0}\">`).join('')+'<\/div>'}\nfunction readMP(b){let n=+b.querySelector('[data-mpn]').value,a=[...b.querySelectorAll('[data-mpa]')].map(x=>+x.value);return{n,a}}\nfunction matMul(A,B,n){let C=Array(n*n).fill(0);for(let r=0;r<n;r++)for(let c=0;c<n;c++)for(let k=0;k<n;k++)C[r*n+c]+=A[r*n+k]*B[k*n+c];return C}\nfunction vectorPro(){modal('VECTOR PRO',`<div class=\"cp2-form\"><div class=\"cp2-grid3\">${['a1','a2','a3','b1','b2','b3'].map((x,i)=>`<label>${x}<input data-vp=\"${x}\" value=\"${i<3?i+1:i-2}\"><\/label>`).join('')}<\/div><div class=\"cp2-grid2\"><button class=\"cp2-toolbtn\" data-vpcalc>Ph\u00e9p to\u00e1n<\/button><button class=\"cp2-toolbtn\" data-vpunit>Vector \u0111\u01a1n v\u1ecb<\/button><\/div><div class=\"cp2-out\" data-vpo>\u2014<\/div><\/div>`)}\nfunction regressionPro(){\n modal('REGRESSION PRO',`<div class=\"cp2-form\"><label>X<input data-rx value=\"1,2,3,4,5\"><\/label><label>Y<input data-ry value=\"2,4,7,8,11\"><\/label><select data-rt><option value=\"lin\">Linear<\/option><option value=\"quad\">Quadratic<\/option><option value=\"exp\">Exponential<\/option><option value=\"log\">Logarithmic<\/option><option value=\"pow\">Power<\/option><\/select><button class=\"cp2-toolbtn\" data-rrun>T\u00ednh h\u1ed3i quy<\/button><div class=\"cp2-out\" data-ro>\u2014<\/div><\/div>`)\n}\nfunction complexPro(){\n modal('COMPLEX PRO',`<div class=\"cp2-form\"><div class=\"cp2-grid2\">\n <label>A real<input data-ca value=\"3\"><\/label><label>A imag<input data-cai value=\"4\"><\/label>\n <label>B real<input data-cb value=\"1\"><\/label><label>B imag<input data-cbi value=\"-2\"><\/label><\/div>\n <div class=\"cp2-grid3\"><button class=\"cp2-toolbtn\" data-cop=\"add\">A+B<\/button><button class=\"cp2-toolbtn\" data-cop=\"sub\">A\u2212B<\/button><button class=\"cp2-toolbtn\" data-cop=\"mul\">A\u00d7B<\/button><button class=\"cp2-toolbtn\" data-cop=\"div\">A\u00f7B<\/button><button class=\"cp2-toolbtn\" data-cop=\"conj\">conj(A)<\/button><button class=\"cp2-toolbtn\" data-cop=\"polar\">A polar<\/button><\/div>\n <div class=\"cp2-out\" data-co>\u2014<\/div><\/div>`);\n}\nfunction complexOp(b,op){let a=+b.querySelector('[data-z1a]').value,bi=+b.querySelector('[data-z1b]').value,c=+b.querySelector('[data-z2a]').value,d=+b.querySelector('[data-z2b]').value,x,y;if(op==='+'){x=a+c;y=bi+d}else if(op==='*'){x=a*c-bi*d;y=a*d+bi*c}else{const den=c*c+d*d;if(den<1e-30)throw Error('Math ERROR: chia s\u1ed1 ph\u1ee9c cho 0');x=(a*c+bi*d)\/den;y=(bi*c-a*d)\/den}return `${fmt(x)} ${y<0?'-':'+'} ${fmt(Math.abs(y))}i`}\nfunction fractionPro(){modal('FRACTION \/ MATHIO',`<div class=\"cp2-form\"><label>Ph\u00e2n s\u1ed1<input data-fr value=\"22\/7\"><\/label><button class=\"cp2-toolbtn\" data-frrun>Chuy\u1ec3n \u0111\u1ed5i<\/button><div class=\"cp2-out\" data-fro>\u2014<\/div><\/div>`)}\nfunction calcPro(){modal('CALC PRO',`<div class=\"cp2-form\"><label>f(x)<input data-cpf value=\"x^2-3*x+2\"><\/label><div class=\"cp2-grid2\"><label>x\u2080<input data-cpx value=\"2\"><\/label><label>\u0394<input data-cpd value=\"0.000001\"><\/label><\/div><div class=\"cp2-grid3\"><button class=\"cp2-toolbtn\" data-cpval>f(x)<\/button><button class=\"cp2-toolbtn\" data-cpder>f'(x)<\/button><button class=\"cp2-toolbtn\" data-cpint>\u222b<\/button><\/div><div class=\"cp2-out\" data-cpo>\u2014<\/div><\/div>`)}\n\nR.addEventListener('click',e=>{\nlet k=e.target.closest('[data-k]')?.dataset.k,a=e.target.closest('[data-a]')?.dataset.a;\nif(k){if(k==='SHIFT'){SHIFT=!SHIFT;render();return}if(k==='ALPHA'){ALPHA=!ALPHA;render();return}if(k==='LEFT'){C=Math.max(0,C-1);render();return}if(k==='RIGHT'){C=Math.min(E.length,C+1);render();return}if(k==='DEL'){del();return}if(k==='='){calc();return}if(k==='MC'){MEM=0;render();return}if(k==='MR'){insert(fmt(MEM));return}if(k==='M+'||k==='M-'){try{let v=evaluate(E);MEM+=k==='M+'?v:-v;render()}catch(_){$('[data-error]').textContent='Kh\u00f4ng th\u1ec3 d\u00f9ng b\u1ed9 nh\u1edb'}return}if(k==='S2D'){try{$('[data-result]').textContent=frac(evaluate(E))}catch(_){$('[data-error]').textContent='S\u2194D l\u1ed7i'}return}insert(k);return}\nif(a==='theme'){THEME=THEME==='dark'?'light':'dark';R.classList.toggle('dark',THEME==='dark');render()}\nelse if(a==='history')showHistory();else if(a==='settings')showSettings();else if(a==='close')close();else if(a==='mode')showMode();else if(a==='angle'){ANG=ANG==='DEG'?'RAD':ANG==='RAD'?'GRAD':'DEG';render()}\nelse if(a==='clear')clear();else if(a==='fraction')fractionPro();else if(a==='s2d'){try{$('[data-result]').textContent=frac(evaluate(E))}catch(_){$('[data-error]').textContent='S\u2194D l\u1ed7i'}}else if(a==='equations')proEquations();else if(a==='polynomial')polynomialPro();else if(a==='matrixpro')matrixPro();else if(a==='vectorpro')vectorPro();else if(a==='regression')regressionPro();else if(a==='complexpro')complexPro();else if(a==='fractionpro')fractionPro();else if(a==='calcpro')calcPro();else if(a==='solver')solver();else if(a==='table')table();else if(a==='stat')stat();else if(a==='base')base();else if(a==='matrix')matrix();else if(a==='vector')vector();else if(a==='complex')complex();else if(a==='convert')converter();else if(a==='calc')calcTool();\nconst mx=e.target.closest('[data-mode-x]');if(mx){MODE=mx.dataset.modeX;close();render()}\nconst hi=e.target.closest('[data-h]');if(hi){E=HIST[+hi.dataset.h].e;C=E.length;close();render()}\nif(e.target.closest('[data-clear-h]')){HIST=[];save();showHistory()}\nif(e.target.closest('[data-reset]')){ANS=MEM=0;HIST=[];save();close();clear()}\nif(e.target.matches('[data-modal]')){close();return} const b=e.target.closest('.cp2-body');if(!b)return;\nif(e.target.matches('[data-set-ang]')){ANG=e.target.value;render()}if(e.target.matches('[data-set-io]')){IO=e.target.value;render()}if(e.target.matches('[data-set-theme]')){THEME=e.target.value;R.classList.toggle('dark',THEME==='dark');render()}\n\nif(e.target.matches('[data-eqtype]'))buildEq(b);\nif(e.target.closest('[data-eqrun]'))try{b.querySelector('[data-eqo]').textContent=solveLinear(b).map((x,i)=>`x${i+1} = ${fmt(x)}`).join('\\n')}catch(x){b.querySelector('[data-eqo]').textContent=x.message}\nif(e.target.matches('[data-pdeg]'))buildPoly(b);\nif(e.target.closest('[data-prun]'))try{b.querySelector('[data-po]').textContent=rootsPoly(b)}catch(x){b.querySelector('[data-po]').textContent=x.message}\nif(e.target.matches('[data-mpn]'))buildMP(b);\nif(e.target.closest('[data-mpdet]')||e.target.closest('[data-mpinv]')||e.target.closest('[data-mptr]')||e.target.closest('[data-mpmul]')||e.target.closest('[data-mpadd]'))try{\n let q=readMP(b),out=b.querySelector('[data-mpo]');\n if(e.target.closest('[data-mpdet]'))out.textContent='det(A) = '+fmt(det(q.a,q.n));\n else if(e.target.closest('[data-mpinv]'))out.textContent=inverse(q.a,q.n).map(r=>r.map(fmt).join('\\t')).join('\\n');\n else if(e.target.closest('[data-mptr]')){let z=[];for(let r=0;r<q.n;r++)z.push(Array.from({length:q.n},(_,c)=>q.a[c*q.n+r]));out.textContent=z.map(r=>r.map(fmt).join('\\t')).join('\\n')}\n else if(e.target.closest('[data-mpmul]'))out.textContent='A\u00b2 =\\n'+matMul(q.a,q.a,q.n).map((v,i)=>(i%q.n===0?'\\n':'')+fmt(v)).join('\\t');\n else out.textContent='A + A =\\n'+q.a.map(v=>fmt(2*v)).join('\\t');\n}catch(x){b.querySelector('[data-mpo]').textContent=x.message}\nif(e.target.closest('[data-eqsolve]')){let g=k=>+b.querySelector(`[data-eq=\"${k}\"]`).value;if(!['a1','b1','c1','a2','b2','c2'].every(k=>Number.isFinite(g(k))))throw Error('D\u1eef li\u1ec7u kh\u00f4ng h\u1ee3p l\u1ec7');let x=solveSystem([[g('a1'),g('b1')],[g('a2'),g('b2')]],[g('c1'),g('c2')]);b.querySelector('[data-eqo]').textContent=`x = ${fmt(x[0])}\\ny = ${fmt(x[1])}`}\nif(e.target.closest('[data-mop]')){let n=+b.querySelector('[data-mas]').value,A=Array.from({length:n*n},(_,i)=>+b.querySelector(`[data-ma=\"${i}\"]`).value),B=Array.from({length:n*n},(_,i)=>+b.querySelector(`[data-mb=\"${i}\"]`).value),op=e.target.closest('[data-mop]').dataset.mop;if(!A.every(Number.isFinite)||!B.every(Number.isFinite))throw Error('Ma tr\u1eadn kh\u00f4ng h\u1ee3p l\u1ec7');let O;if(op==='add')O=A.map((v,i)=>v+B[i]);else if(op==='sub')O=A.map((v,i)=>v-B[i]);else if(op==='mul')O=matMul(A,B,n);else if(op==='det')O=`det(A) = ${fmt(det(A,n))}`;else if(op==='inv')O=inverse(A,n);else O=Array.from({length:n},(_,r)=>Array.from({length:n},(_,c)=>A[c*n+r]));if(Array.isArray(O)&&typeof O[0]==='number')O=Array.from({length:n},(_,r)=>O.slice(r*n,(r+1)*n));b.querySelector('[data-mo]').textContent=typeof O==='string'?O:O.map(r=>r.map(fmt).join('  ')).join('\\n')}\nif(e.target.closest('[data-cop]')){let a=+b.querySelector('[data-ca]').value,ai=+b.querySelector('[data-cai]').value,c=+b.querySelector('[data-cb]').value,bi=+b.querySelector('[data-cbi]').value,op=e.target.closest('[data-cop]').dataset.cop,x,y;if(![a,ai,c,bi].every(Number.isFinite))throw Error('S\u1ed1 ph\u1ee9c kh\u00f4ng h\u1ee3p l\u1ec7');if(op==='add'){x=a+c;y=ai+bi}else if(op==='sub'){x=a-c;y=ai-bi}else if(op==='mul'){x=a*c-ai*bi;y=a*bi+ai*c}else if(op==='div'){let q=c*c+bi*bi;if(q<1e-30)throw Error('Math ERROR: chia s\u1ed1 ph\u1ee9c cho 0');x=(a*c+ai*bi)\/q;y=(ai*c-a*bi)\/q}else if(op==='conj'){x=a;y=-ai}else{b.querySelector('[data-co]').textContent=`|A| = ${fmt(Math.hypot(a,ai))}\\narg(A) = ${fmt(angleOut(Math.atan2(ai,a)))} ${ANG}`;return}b.querySelector('[data-co]').textContent=`${fmt(x)} ${y<0?'\u2212':'+'} ${fmt(Math.abs(y))}i`}\nif(e.target.closest('[data-vpcalc]')||e.target.closest('[data-vpunit]')){let g=s=>+b.querySelector(`[data-vp=\"${s}\"]`).value,x=[g('a1'),g('a2'),g('a3')],y=[g('b1'),g('b2'),g('b3')],nx=Math.hypot(...x),ny=Math.hypot(...y),dot=x[0]*y[0]+x[1]*y[1]+x[2]*y[2],cr=[x[1]*y[2]-x[2]*y[1],x[2]*y[0]-x[0]*y[2],x[0]*y[1]-x[1]*y[0]],out=`A+B=[${x.map((v,i)=>fmt(v+y[i])).join(', ')}]\\nA\u2212B=[${x.map((v,i)=>fmt(v-y[i])).join(', ')}]\\n|A|=${fmt(nx)}\\n|B|=${fmt(ny)}\\nA\u00b7B=${fmt(dot)}\\nA\u00d7B=[${cr.map(fmt).join(', ')}]`;if(e.target.closest('[data-vpunit]')){if(nx<1e-15||ny<1e-15)throw Error('Vector 0 kh\u00f4ng c\u00f3 vector \u0111\u01a1n v\u1ecb');out+=`\\nunit(A)=[${x.map(v=>fmt(v\/nx)).join(', ')}]\\nunit(B)=[${y.map(v=>fmt(v\/ny)).join(', ')}]`}b.querySelector('[data-vpo]').textContent=out}\nif(e.target.closest('[data-rrun]')){try{let X=b.querySelector('[data-rx]').value.split(',').map(Number),Y=b.querySelector('[data-ry]').value.split(',').map(Number),t=b.querySelector('[data-rt]').value,n=X.length;if(n!==Y.length||n<2)throw Error('X v\u00e0 Y ph\u1ea3i c\u00f9ng s\u1ed1 ph\u1ea7n t\u1eed');let sx=X.reduce((a,c)=>a+c,0),sy=Y.reduce((a,c)=>a+c,0),sxx=X.reduce((a,c)=>a+c*c,0),sxy=X.reduce((a,c,i)=>a+c*Y[i],0),den=n*sxx-sx*sx;if(t==='lin'){if(Math.abs(den)<1e-14)throw Error('H\u1ed3i quy tuy\u1ebfn t\u00ednh kh\u00f4ng x\u00e1c \u0111\u1ecbnh: X kh\u00f4ng bi\u1ebfn thi\u00ean');let m=(n*sxy-sx*sy)\/den,c=(sy-m*sx)\/n;b.querySelector('[data-ro]').textContent=`y = ${fmt(c)} + ${fmt(m)}x\\nr = ${fmt((n*sxy-sx*sy)\/Math.sqrt((n*sxx-sx*sx)*(n*Y.reduce((a,c)=>a+c*c,0)-sy*sy)))}`}else if(t==='quad'){let A=X.map(x=>[x*x,x,1]);let z=[];for(let i=0;i<3;i++){let M=A.map((r,j)=>[r[0],r[1],r[2],Y[j]]);for(let c=0;c<3;c++){let p=c;for(let r=c+1;r<3;r++)if(Math.abs(M[r][c])>Math.abs(M[p][c]))p=r;if(Math.abs(M[p][c])<1e-14)throw Error('H\u1ed3i quy b\u1eadc 2 kh\u00f4ng x\u00e1c \u0111\u1ecbnh');[M[p],M[c]]=[M[c],M[p]];let q=M[c][c];for(let j=c;j<4;j++)M[c][j]\/=q;for(let r=0;r<3;r++)if(r!==c){let f=M[r][c];for(let j=c;j<4;j++)M[r][j]-=f*M[c][j]}}z=M.map(r=>r[3])}b.querySelector('[data-ro]').textContent=`y = ${fmt(z[0])}x\u00b2 + ${fmt(z[1])}x + ${fmt(z[2])}`}else{let pairs=[];for(let i=0;i<n;i++){if((t==='exp'||t==='pow')&&Y[i]<=0)throw Error('Y ph\u1ea3i d\u01b0\u01a1ng');if((t==='log'||t==='pow')&&X[i]<=0)throw Error('X ph\u1ea3i d\u01b0\u01a1ng');let xx=t==='log'?Math.log(X[i]):t==='pow'?Math.log(X[i]):X[i],yy=t==='exp'?Math.log(Y[i]):t==='log'?Y[i]:Math.log(Y[i]);pairs.push([xx,yy])}let mx=pairs.reduce((a,c)=>a+c[0],0)\/n,my=pairs.reduce((a,c)=>a+c[1],0)\/n,den2=pairs.reduce((a,c)=>a+(c[0]-mx)**2,0);if(den2<1e-14)throw Error('H\u1ed3i quy kh\u00f4ng x\u00e1c \u0111\u1ecbnh: X kh\u00f4ng bi\u1ebfn thi\u00ean');let beta=pairs.reduce((a,c)=>a+(c[0]-mx)*(c[1]-my),0)\/den2,alpha=my-beta*mx;if(t==='exp')b.querySelector('[data-ro]').textContent=`y = ${fmt(Math.exp(alpha))}\u00b7e^(${fmt(beta)}x)`;if(t==='log')b.querySelector('[data-ro]').textContent=`y = ${fmt(alpha)} + ${fmt(beta)}ln(x)`;if(t==='pow')b.querySelector('[data-ro]').textContent=`y = ${fmt(Math.exp(alpha))}x^(${fmt(beta)})`}}catch(x){b.querySelector('[data-ro]').textContent=x.message}}\nif(e.target.closest('[data-zop]'))try{b.querySelector('[data-zo]').textContent=complexOp(b,e.target.closest('[data-zop]').dataset.zop)}catch(x){b.querySelector('[data-zo]').textContent=x.message}\nif(e.target.closest('[data-frrun]')){let s=b.querySelector('[data-fr]').value.trim(),m=s.match(\/^(-?\\d+)\\s*\\\/\\s*(\\d+)$\/);if(m){let n=+m[1],d=+m[2];if(d===0)throw Error('M\u1eabu s\u1ed1 kh\u00f4ng \u0111\u01b0\u1ee3c b\u1eb1ng 0');if(d<0){n=-n;d=-d}let g=gcd(n,d);n\/=g;d\/=g;b.querySelector('[data-fro]').textContent=`${n}\/${d} = ${fmt(n\/d)}\\nH\u1ed7n s\u1ed1: ${Math.trunc(n\/d)} ${Math.abs(n%d)}\/${d}`}else{try{let v=evaluate(s),f=frac(v);b.querySelector('[data-fro]').textContent=`${f} = ${fmt(v)}`}catch(x){b.querySelector('[data-fro]').textContent=x.message}}}\nif(e.target.closest('[data-cpval]')||e.target.closest('[data-cpder]')||e.target.closest('[data-cpint]'))try{let f=b.querySelector('[data-cpf]').value,x=+b.querySelector('[data-cpx]').value,d=+b.querySelector('[data-cpd]').value;if(!Number.isFinite(x)||!Number.isFinite(d)||d<=0)throw Error('x\u2080 v\u00e0 \u0394 kh\u00f4ng h\u1ee3p l\u1ec7');let fun=q=>evaluate(f,{x:q});if(e.target.closest('[data-cpval]'))b.querySelector('[data-cpo]').textContent='f(x\u2080) = '+fmt(fun(x));else if(e.target.closest('[data-cpder]'))b.querySelector('[data-cpo]').textContent=\"f'(x\u2080) \u2248 \"+fmt((fun(x+d)-fun(x-d))\/(2*d));else{let a=x-1,h=d,N=1000,sum=0;if(!Number.isFinite(h)||h<=0)throw Error('\u0394 ph\u1ea3i l\u1edbn h\u01a1n 0');for(let i=0;i<N;i++)sum+=fun(a+(i+.5)*2*h\/N);b.querySelector('[data-cpo]').textContent='\u222b[x\u2080\u22121,x\u2080+1] f(x)dx \u2248 '+fmt(sum*2*h\/N)}}catch(x){b.querySelector('[data-cpo]').textContent=x.message}\n\nif(e.target.closest('[data-run-calc]')){try{b.querySelector('[data-calo]').textContent=fmt(evaluate(b.querySelector('[data-calf]').value))}catch(x){b.querySelector('[data-calo]').textContent=x.message}}\nif(e.target.closest('[data-run-base]')){let n=Number(b.querySelector('[data-bd]').value);b.querySelector('[data-bo]').textContent=`DEC ${n}\\nBIN ${Math.trunc(n).toString(2)}\\nOCT ${Math.trunc(n).toString(8)}\\nHEX ${Math.trunc(n).toString(16).toUpperCase()}`}\nif(e.target.closest('[data-run-complex]')){let x=+b.querySelector('[data-ca]').value,y=+b.querySelector('[data-cb]').value;b.querySelector('[data-co]').textContent=`z = ${x}${y<0?' - ':' + '}${Math.abs(y)}i\\n|z| = ${fmt(Math.hypot(x,y))}\\narg(z) = ${fmt(angleOut(Math.atan2(y,x)))} ${ANG}\\nconj(z) = ${x}${y<0?' + ':' - '}${Math.abs(y)}i`}\nif(e.target.closest('[data-run-vector]')){let x=[+b.querySelector('[data-va]').value,+b.querySelector('[data-vb]').value,+b.querySelector('[data-vc]').value],y=[+b.querySelector('[data-vd]').value,+b.querySelector('[data-ve]').value,+b.querySelector('[data-vf]').value];let dot=x[0]*y[0]+x[1]*y[1]+x[2]*y[2],cr=[x[1]*y[2]-x[2]*y[1],x[2]*y[0]-x[0]*y[2],x[0]*y[1]-x[1]*y[0]];b.querySelector('[data-vo]').textContent=`A+B = [${x.map((v,i)=>fmt(v+y[i])).join(', ')}]\\nA\u2212B = [${x.map((v,i)=>fmt(v-y[i])).join(', ')}]\\nA\u00b7B = ${fmt(dot)}\\nA\u00d7B = [${cr.map(fmt).join(', ')}]\\n|A| = ${fmt(Math.hypot(...x))}\\n|B| = ${fmt(Math.hypot(...y))}`}\nif(e.target.closest('[data-run-stat]')){let xs=b.querySelector('[data-sd]').value.split(',').map(Number),ys=b.querySelector('[data-sy]').value.trim()?b.querySelector('[data-sy]').value.split(',').map(Number):[];if(!xs.length||xs.some(v=>!Number.isFinite(v))||ys.some(v=>!Number.isFinite(v))|| (ys.length&&ys.length!==xs.length)){b.querySelector('[data-so2]').textContent='D\u1eef li\u1ec7u l\u1ed7i: X\/Y ph\u1ea3i l\u00e0 c\u00e1c s\u1ed1 v\u00e0 c\u00f3 c\u00f9ng s\u1ed1 ph\u1ea7n t\u1eed';return}let n=xs.length,mean=xs.reduce((a,c)=>a+c,0)\/n,varp=xs.reduce((a,c)=>a+(c-mean)**2,0)\/n,out=`n=${n}\\n\u03a3x=${fmt(xs.reduce((a,c)=>a+c,0))}\\n\u03a3x\u00b2=${fmt(xs.reduce((a,c)=>a+c*c,0))}\\nMean=${fmt(mean)}\\n\u03c3=${fmt(Math.sqrt(varp))}\\ns=${fmt(Math.sqrt(n>1?varp*n\/(n-1):0))}`;if(ys.length===n){let my=ys.reduce((a,c)=>a+c,0)\/n,cov=xs.reduce((a,c,i)=>a+(c-mean)*(ys[i]-my),0)\/n,vx=varp,vy=ys.reduce((a,c)=>a+(c-my)**2,0)\/n;out+=`\\n\\n\u0177 = a + bx\\nb=${fmt(cov\/vx)}\\na=${fmt(my-(cov\/vx)*mean)}\\nr=${fmt(cov\/Math.sqrt(vx*vy))}`}b.querySelector('[data-so2]').textContent=out}\nif(e.target.closest('[data-run-table]')){let f=b.querySelector('[data-tf]').value,s=+b.querySelector('[data-ts]').value,en=+b.querySelector('[data-te]').value,st=+b.querySelector('[data-tp]').value,o='x\\tf(x)\\n',n=0;try{if(!st||st*(en-s)<0)throw Error('Start\/End\/Step kh\u00f4ng h\u1ee3p l\u1ec7');for(let x=s;(st>0?x<=en:x>=en)&&n<500;x+=st,n++)o+=`${fmt(x)}\\t${fmt(evaluate(f,{x}))}\\n`;b.querySelector('[data-to]').textContent=o}catch(x){b.querySelector('[data-to]').textContent=x.message}}\nif(e.target.closest('[data-run-solve]')){let f=b.querySelector('[data-sf]').value,lo=+b.querySelector('[data-smin]').value,hi=+b.querySelector('[data-smax]').value,roots=[];try{let N=1200,step=(hi-lo)\/N,fun=x=>evaluate(f,{x});for(let i=0;i<N;i++){let a=lo+i*step,c=a+step,fa=fun(a),fc=fun(c);if(Math.abs(fa)<1e-10)roots.push(a);\nif(fa*fc<0){let l=a,r=c,fl=fa;for(let q=0;q<70;q++){let m=(l+r)\/2,fm=fun(m);if(Math.abs(fm)<1e-14){l=m;r=m;break}if(fl*fm<=0)r=m;else{l=m;fl=fm}}roots.push((l+r)\/2)}\nif(i>0&&i<N-1){let mid=a,prev=fun(a-step),next=fc;if(Math.abs(fa)<Math.min(Math.abs(prev),Math.abs(next))*0.02 && Math.abs(fa)<1e-6)roots.push(mid)}if(roots.length>=12)break}roots=[...new Set(roots.map(x=>x.toPrecision(10)))];b.querySelector('[data-so]').textContent=roots.length?roots.map((x,i)=>`x${i+1} \u2248 ${x}`).join('\\n'):'Kh\u00f4ng t\u00ecm th\u1ea5y nghi\u1ec7m trong kho\u1ea3ng.'}catch(x){b.querySelector('[data-so]').textContent=x.message}}\nif(e.target.matches('[data-ms]'))buildMatrix(b);\nif(e.target.closest('[data-mdet]')){let q=readMatrix(b);try{b.querySelector('[data-mo]').textContent='det(A) = '+fmt(det(q.a,q.n))}catch(x){b.querySelector('[data-mo]').textContent=x.message}}\nif(e.target.closest('[data-minv]')){let q=readMatrix(b);try{b.querySelector('[data-mo]').textContent=inverse(q.a,q.n).map(r=>r.map(fmt).join('\\t')).join('\\n')}catch(x){b.querySelector('[data-mo]').textContent=x.message}}\nif(e.target.matches('[data-ct]'))fillUnits(b);\nif(e.target.closest('[data-run-convert]')){let t=b.querySelector('[data-ct]').value,f=b.querySelector('[data-cf]').value,to=b.querySelector('[data-cc]').value,v=+b.querySelector('[data-cv]').value;try{let r;if(t==='temp'){let c=f==='C'?v:f==='F'?(v-32)*5\/9:v-273.15;r=to==='C'?c:to==='F'?c*9\/5+32:c+273.15}else{let rad=UNITS[t][f]*v;r=rad\/UNITS[t][to]}b.querySelector('[data-co2]').textContent=fmt(r)+' '+to}catch(x){b.querySelector('[data-co2]').textContent=x.message}}\n});\n$('[data-expr]').addEventListener('keydown',e=>{if(e.key==='Enter'){e.preventDefault();calc()}else if(e.key==='Backspace'){e.preventDefault();del()}else if(e.key==='ArrowLeft'){e.preventDefault();C=Math.max(0,C-1);render()}else if(e.key==='ArrowRight'){e.preventDefault();C=Math.min(E.length,C+1);render()}else if(\/^[0-9a-zA-Z+\\-*\/().,^%! ]$\/.test(e.key)){e.preventDefault();insert(e.key)}});\nrender();\n})();\n<\/script>\n\n<h2><span class=\"ez-toc-section\" id=\"Vi_sao_nen_su_dung_may_tinh_online\"><\/span>V\u00ec sao n\u00ean s\u1eed d\u1ee5ng m\u00e1y t\u00ednh online?<span class=\"ez-toc-section-end\"><\/span><\/h2><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">C\u00e1c N\u1ed9i Dung Ch\u00ednh<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #444444;color:#444444\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #444444;color:#444444\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"#\" data-href=\"https:\/\/app.mitunet.com\/home\/may-tinh-online\/#Vi_sao_nen_su_dung_may_tinh_online\" >V\u00ec sao n\u00ean s\u1eed d\u1ee5ng m\u00e1y t\u00ednh online?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"#\" data-href=\"https:\/\/app.mitunet.com\/home\/may-tinh-online\/#Cach_su_dung_may_tinh_online\" >C\u00e1ch s\u1eed d\u1ee5ng m\u00e1y t\u00ednh online<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"#\" data-href=\"https:\/\/app.mitunet.com\/home\/may-tinh-online\/#May_tinh_online_ho_tro_nhung_phep_tinh_nao\" >M\u00e1y t\u00ednh online h\u1ed7 tr\u1ee3 nh\u1eefng ph\u00e9p t\u00ednh n\u00e0o?<\/a><\/li><\/ul><\/nav><\/div>\n\n<p><strong>M\u00e1y t\u00ednh online<\/strong> mang \u0111\u1ebfn nhi\u1ec1u ti\u1ec7n \u00edch khi b\u1ea1n c\u1ea7n x\u1eed l\u00fd ph\u00e9p t\u00ednh nhanh ch\u00f3ng. C\u00f4ng c\u1ee5 ho\u1ea1t \u0111\u1ed9ng tr\u1ef1c ti\u1ebfp tr\u00ean tr\u00ecnh duy\u1ec7t n\u00ean c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng tr\u00ean m\u00e1y t\u00ednh, laptop, m\u00e1y t\u00ednh b\u1ea3ng ho\u1eb7c \u0111i\u1ec7n tho\u1ea1i m\u00e0 kh\u00f4ng c\u1ea7n c\u00e0i \u0111\u1eb7t \u1ee9ng d\u1ee5ng.<\/p>\n<p>\u0110\u1eb7c bi\u1ec7t, m\u00e1y t\u00ednh tr\u1ef1c tuy\u1ebfn ph\u00f9 h\u1ee3p v\u1edbi nh\u1eefng tr\u01b0\u1eddng h\u1ee3p c\u1ea7n ki\u1ec3m tra nhanh k\u1ebft qu\u1ea3 b\u00e0i t\u1eadp, t\u00ednh to\u00e1n trong c\u00f4ng vi\u1ec7c, ki\u1ec3m tra h\u00f3a \u0111\u01a1n, t\u00ednh t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m ho\u1eb7c th\u1ef1c hi\u1ec7n c\u00e1c ph\u00e9p t\u00ednh h\u00e0ng ng\u00e0y.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cach_su_dung_may_tinh_online\"><\/span>C\u00e1ch s\u1eed d\u1ee5ng m\u00e1y t\u00ednh online<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0110\u1ec3 s\u1eed d\u1ee5ng c\u00f4ng c\u1ee5, b\u1ea1n ch\u1ec9 c\u1ea7n nh\u1eadp ph\u00e9p t\u00ednh c\u1ea7n th\u1ef1c hi\u1ec7n b\u1eb1ng b\u00e0n ph\u00edm ho\u1eb7c c\u00e1c n\u00fat ch\u1ee9c n\u0103ng tr\u00ean m\u00e1y t\u00ednh. Sau \u0111\u00f3, h\u1ec7 th\u1ed1ng s\u1ebd x\u1eed l\u00fd ph\u00e9p t\u00ednh v\u00e0 hi\u1ec3n th\u1ecb k\u1ebft qu\u1ea3 nhanh ch\u00f3ng.<\/p>\n<p>B\u1ea1n c\u00f3 th\u1ec3 x\u00f3a ph\u00e9p t\u00ednh hi\u1ec7n t\u1ea1i \u0111\u1ec3 b\u1eaft \u0111\u1ea7u m\u1ed9t ph\u00e9p t\u00ednh m\u1edbi ho\u1eb7c ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng c\u00e1c k\u1ebft qu\u1ea3 tr\u01b0\u1edbc \u0111\u00f3 t\u00f9y theo ch\u1ee9c n\u0103ng \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3. Nh\u1edd thao t\u00e1c \u0111\u01a1n gi\u1ea3n, ngay c\u1ea3 ng\u01b0\u1eddi d\u00f9ng kh\u00f4ng th\u01b0\u1eddng xuy\u00ean s\u1eed d\u1ee5ng c\u00e1c c\u00f4ng c\u1ee5 t\u00ednh to\u00e1n c\u0169ng c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng l\u00e0m quen.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"May_tinh_online_ho_tro_nhung_phep_tinh_nao\"><\/span>M\u00e1y t\u00ednh online h\u1ed7 tr\u1ee3 nh\u1eefng ph\u00e9p t\u00ednh n\u00e0o?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>C\u00f4ng c\u1ee5 m\u00e1y t\u00ednh online<\/strong> \u0111\u01b0\u1ee3c trang b\u1ecb nhi\u1ec1u t\u00ednh n\u0103ng t\u01b0\u01a1ng t\u1ef1 nh\u01b0 m\u00e1y t\u00ednh Casio khoa h\u1ecdc, gi\u00fap \u0111\u00e1p \u1ee9ng c\u1ea3 nhu c\u1ea7u h\u1ecdc t\u1eadp l\u1eabn c\u00f4ng vi\u1ec7c n\u00e2ng cao. M\u1ed9t s\u1ed1 ch\u1ee9c n\u0103ng ph\u1ed5 bi\u1ebfn bao g\u1ed3m:<\/p>\n<ul>\n<li>Ph\u00e9p c\u1ed9ng, tr\u1eeb, nh\u00e2n v\u00e0 chia c\u01a1 b\u1ea3n.<\/li>\n<li>T\u00ednh ph\u1ea7n tr\u0103m, s\u1ed1 th\u1eadp ph\u00e2n v\u00e0 bi\u1ec3u th\u1ee9c ph\u1ee9c t\u1ea1p.<\/li>\n<li>T\u00ednh l\u0169y th\u1eeba, c\u0103n b\u1eadc hai v\u00e0 c\u0103n b\u1eadc cao h\u01a1n.<\/li>\n<li>C\u00e1c h\u00e0m l\u01b0\u1ee3ng gi\u00e1c nh\u01b0 sin, cos, tan (v\u00e0 ngh\u1ecbch \u0111\u1ea3o).<\/li>\n<li>H\u00e0m logarit (log, ln) ph\u1ee5c v\u1ee5 c\u00e1c b\u00e0i to\u00e1n n\u00e2ng cao.<\/li>\n<li>T\u00ednh to\u00e1n v\u1edbi ph\u00e2n s\u1ed1 v\u00e0 chuy\u1ec3n \u0111\u1ed5i gi\u1eefa c\u00e1c d\u1ea1ng s\u1ed1.<\/li>\n<li>C\u00e1c ph\u00e9p to\u00e1n t\u1ed5 h\u1ee3p nh\u01b0 ho\u00e1n v\u1ecb (nPr), ch\u1ec9nh h\u1ee3p v\u00e0 t\u1ed5 h\u1ee3p (nCr).<\/li>\n<li>H\u1ed7 tr\u1ee3 ch\u1ebf \u0111\u1ed9 g\u00f3c \u0111\u1ed9 (Degree) v\u00e0 radian (Radian) nh\u01b0 m\u00e1y t\u00ednh Casio.<\/li>\n<li>B\u1ed9 nh\u1edb t\u00ednh to\u00e1n (M+, M-, MR, MC) gi\u00fap l\u01b0u v\u00e0 g\u1ecdi l\u1ea1i k\u1ebft qu\u1ea3 nhanh ch\u00f3ng.<\/li>\n<\/ul>\n<p>V\u1edbi nh\u1eefng t\u00ednh n\u0103ng t\u01b0\u01a1ng t\u1ef1 <strong>m\u00e1y t\u00ednh Casio khoa h\u1ecdc<\/strong>, m\u00e1y t\u00ednh online mi\u1ec5n ph\u00ed kh\u00f4ng ch\u1ec9 h\u1ed7 tr\u1ee3 c\u00e1c ph\u00e9p t\u00ednh c\u01a1 b\u1ea3n m\u00e0 c\u00f2n \u0111\u00e1p \u1ee9ng t\u1ed1t nhu c\u1ea7u h\u1ecdc to\u00e1n, v\u1eadt l\u00fd, k\u1ef9 thu\u1eadt v\u00e0 c\u00e1c b\u00e0i to\u00e1n ph\u1ee9c t\u1ea1p, mang l\u1ea1i s\u1ef1 ti\u1ec7n l\u1ee3i t\u1ed1i \u0111a cho ng\u01b0\u1eddi d\u00f9ng.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u00e1y t\u00ednh online mi\u1ec5n ph\u00ed l\u00e0 gi\u1ea3i ph\u00e1p nhanh ch\u00f3ng \u0111\u1ec3 th\u1ef1c hi\u1ec7n c\u00e1c ph\u00e9p t\u00ednh tr\u1ef1c tuy\u1ebfn ngay tr\u00ean tr\u00ecnh duy\u1ec7t. Kh\u00f4ng ch\u1ec9 h\u1ed7 tr\u1ee3 nh\u1eefng ph\u00e9p t\u00ednh c\u01a1 b\u1ea3n nh\u01b0 c\u1ed9ng, tr\u1eeb, nh\u00e2n, chia, c\u00f4ng c\u1ee5 c\u00f2n c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p c\u00e1c ch\u1ee9c n\u0103ng n\u00e2ng cao nh\u01b0 ph\u1ea7n tr\u0103m, c\u0103n b\u1eadc hai, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":675,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[28],"class_list":["post-665","post","type-post","status-publish","format-standard","has-post-thumbnail","category-tien-ich","tag-tinh-toan"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed | App Mitunet<\/title>\n<meta name=\"description\" content=\"C\u00f4ng c\u1ee5 m\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online v\u1edbi \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng \u0111\u1ec3 s\u1eed d\u1ee5ng trong vi\u1ec7c h\u1ecdc, t\u00ednh to\u00e1n, l\u00e0m b\u00e0i t\u1eadp...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/app.mitunet.com\/home\/may-tinh-online\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed | App Mitunet\" \/>\n<meta property=\"og:description\" content=\"C\u00f4ng c\u1ee5 m\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online v\u1edbi \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng \u0111\u1ec3 s\u1eed d\u1ee5ng trong vi\u1ec7c h\u1ecdc, t\u00ednh to\u00e1n, l\u00e0m b\u00e0i t\u1eadp...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/app.mitunet.com\/home\/may-tinh-online\/\" \/>\n<meta property=\"og:site_name\" content=\"App Mitunet\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-15T07:43:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-15T11:12:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/app.mitunet.com\/home\/wp-content\/uploads\/2026\/08\/may-tinh-online.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ho\u00e0ng Nguy\u1ec5n\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ho\u00e0ng Nguy\u1ec5n\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/\"},\"author\":{\"name\":\"Ho\u00e0ng Nguy\u1ec5n\",\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/#\\\/schema\\\/person\\\/f50dd8aac6139374e226f02e17793e76\"},\"headline\":\"M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed\",\"datePublished\":\"2026-08-15T07:43:48+00:00\",\"dateModified\":\"2026-08-15T11:12:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/\"},\"wordCount\":861,\"image\":{\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/may-tinh-online.jpg\",\"keywords\":[\"T\u00ednh to\u00e1n\"],\"articleSection\":[\"Ti\u1ec7n \u00edch\"],\"inLanguage\":\"vi\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/\",\"url\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/\",\"name\":\"M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed | App Mitunet\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/may-tinh-online.jpg\",\"datePublished\":\"2026-08-15T07:43:48+00:00\",\"dateModified\":\"2026-08-15T11:12:34+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/#\\\/schema\\\/person\\\/f50dd8aac6139374e226f02e17793e76\"},\"description\":\"C\u00f4ng c\u1ee5 m\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online v\u1edbi \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng \u0111\u1ec3 s\u1eed d\u1ee5ng trong vi\u1ec7c h\u1ecdc, t\u00ednh to\u00e1n, l\u00e0m b\u00e0i t\u1eadp...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/#primaryimage\",\"url\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/may-tinh-online.jpg\",\"contentUrl\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/may-tinh-online.jpg\",\"width\":800,\"height\":600,\"caption\":\"C\u00f4ng c\u1ee5 m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/may-tinh-online\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Trang ch\u1ee7\",\"item\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/#website\",\"url\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/\",\"name\":\"App Mitunet\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/app.mitunet.com\\\/home\\\/#\\\/schema\\\/person\\\/f50dd8aac6139374e226f02e17793e76\",\"name\":\"Ho\u00e0ng Nguy\u1ec5n\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f94a5ef7ba48bd05196f8ba8340b297655b9adc8975f99cf481c8e14dea06e48?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f94a5ef7ba48bd05196f8ba8340b297655b9adc8975f99cf481c8e14dea06e48?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f94a5ef7ba48bd05196f8ba8340b297655b9adc8975f99cf481c8e14dea06e48?s=96&d=mm&r=g\",\"caption\":\"Ho\u00e0ng Nguy\u1ec5n\"},\"description\":\"Hi, m\u00ecnh l\u00e0 Ho\u00e0ng Nguy\u1ec5n, \u0111\u00e3 t\u1eebng c\u00f3 h\u01a1n 10 n\u0103m kinh nghi\u1ec7m trong l\u0129nh v\u1ef1c Marketing Online nh\u01b0 SEO, qu\u1ea3ng c\u00e1o, content, qu\u1ea3n tr\u1ecb web, ph\u00e1t tri\u1ec5n website... Hy v\u1ecdng v\u1edbi nh\u1eefng n\u1ed9i dung c\u1ee7a m\u00ecnh s\u1ebb gi\u00fap b\u1ea1n hi\u1ec7u qu\u1ea3 h\u01a1n trong vi\u1ec7c marketing online.\",\"sameAs\":[\"https:\\\/\\\/app.mitunet.com\\\/home\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed | App Mitunet","description":"C\u00f4ng c\u1ee5 m\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online v\u1edbi \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng \u0111\u1ec3 s\u1eed d\u1ee5ng trong vi\u1ec7c h\u1ecdc, t\u00ednh to\u00e1n, l\u00e0m b\u00e0i t\u1eadp...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/","og_locale":"vi_VN","og_type":"article","og_title":"M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed | App Mitunet","og_description":"C\u00f4ng c\u1ee5 m\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online v\u1edbi \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng \u0111\u1ec3 s\u1eed d\u1ee5ng trong vi\u1ec7c h\u1ecdc, t\u00ednh to\u00e1n, l\u00e0m b\u00e0i t\u1eadp...","og_url":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/","og_site_name":"App Mitunet","article_published_time":"2026-08-15T07:43:48+00:00","article_modified_time":"2026-08-15T11:12:34+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/app.mitunet.com\/home\/wp-content\/uploads\/2026\/08\/may-tinh-online.jpg","type":"image\/jpeg"}],"author":"Ho\u00e0ng Nguy\u1ec5n","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Ho\u00e0ng Nguy\u1ec5n","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"4 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/#article","isPartOf":{"@id":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/"},"author":{"name":"Ho\u00e0ng Nguy\u1ec5n","@id":"https:\/\/app.mitunet.com\/home\/#\/schema\/person\/f50dd8aac6139374e226f02e17793e76"},"headline":"M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed","datePublished":"2026-08-15T07:43:48+00:00","dateModified":"2026-08-15T11:12:34+00:00","mainEntityOfPage":{"@id":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/"},"wordCount":861,"image":{"@id":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/#primaryimage"},"thumbnailUrl":"https:\/\/app.mitunet.com\/home\/wp-content\/uploads\/2026\/08\/may-tinh-online.jpg","keywords":["T\u00ednh to\u00e1n"],"articleSection":["Ti\u1ec7n \u00edch"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/","url":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/","name":"M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed | App Mitunet","isPartOf":{"@id":"https:\/\/app.mitunet.com\/home\/#website"},"primaryImageOfPage":{"@id":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/#primaryimage"},"image":{"@id":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/#primaryimage"},"thumbnailUrl":"https:\/\/app.mitunet.com\/home\/wp-content\/uploads\/2026\/08\/may-tinh-online.jpg","datePublished":"2026-08-15T07:43:48+00:00","dateModified":"2026-08-15T11:12:34+00:00","author":{"@id":"https:\/\/app.mitunet.com\/home\/#\/schema\/person\/f50dd8aac6139374e226f02e17793e76"},"description":"C\u00f4ng c\u1ee5 m\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online v\u1edbi \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng \u0111\u1ec3 s\u1eed d\u1ee5ng trong vi\u1ec7c h\u1ecdc, t\u00ednh to\u00e1n, l\u00e0m b\u00e0i t\u1eadp...","breadcrumb":{"@id":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/app.mitunet.com\/home\/may-tinh-online\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/#primaryimage","url":"https:\/\/app.mitunet.com\/home\/wp-content\/uploads\/2026\/08\/may-tinh-online.jpg","contentUrl":"https:\/\/app.mitunet.com\/home\/wp-content\/uploads\/2026\/08\/may-tinh-online.jpg","width":800,"height":600,"caption":"C\u00f4ng c\u1ee5 m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed"},{"@type":"BreadcrumbList","@id":"https:\/\/app.mitunet.com\/home\/may-tinh-online\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Trang ch\u1ee7","item":"https:\/\/app.mitunet.com\/home\/"},{"@type":"ListItem","position":2,"name":"M\u00e1y t\u00ednh online t\u00ednh to\u00e1n chu\u1ea9n nh\u1ea5t, \u1ee9ng d\u1ee5ng m\u00e1y t\u00ednh casio online mi\u1ec5n ph\u00ed"}]},{"@type":"WebSite","@id":"https:\/\/app.mitunet.com\/home\/#website","url":"https:\/\/app.mitunet.com\/home\/","name":"App Mitunet","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/app.mitunet.com\/home\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/app.mitunet.com\/home\/#\/schema\/person\/f50dd8aac6139374e226f02e17793e76","name":"Ho\u00e0ng Nguy\u1ec5n","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/secure.gravatar.com\/avatar\/f94a5ef7ba48bd05196f8ba8340b297655b9adc8975f99cf481c8e14dea06e48?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f94a5ef7ba48bd05196f8ba8340b297655b9adc8975f99cf481c8e14dea06e48?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f94a5ef7ba48bd05196f8ba8340b297655b9adc8975f99cf481c8e14dea06e48?s=96&d=mm&r=g","caption":"Ho\u00e0ng Nguy\u1ec5n"},"description":"Hi, m\u00ecnh l\u00e0 Ho\u00e0ng Nguy\u1ec5n, \u0111\u00e3 t\u1eebng c\u00f3 h\u01a1n 10 n\u0103m kinh nghi\u1ec7m trong l\u0129nh v\u1ef1c Marketing Online nh\u01b0 SEO, qu\u1ea3ng c\u00e1o, content, qu\u1ea3n tr\u1ecb web, ph\u00e1t tri\u1ec5n website... Hy v\u1ecdng v\u1edbi nh\u1eefng n\u1ed9i dung c\u1ee7a m\u00ecnh s\u1ebb gi\u00fap b\u1ea1n hi\u1ec7u qu\u1ea3 h\u01a1n trong vi\u1ec7c marketing online.","sameAs":["https:\/\/app.mitunet.com\/home"]}]}},"_links":{"self":[{"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/posts\/665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/comments?post=665"}],"version-history":[{"count":9,"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/posts\/665\/revisions"}],"predecessor-version":[{"id":674,"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/posts\/665\/revisions\/674"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/media\/675"}],"wp:attachment":[{"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/media?parent=665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/categories?post=665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/app.mitunet.com\/home\/wp-json\/wp\/v2\/tags?post=665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}