[英]How do I simplify fractions?
I've been working for awhile on a huge mathematical multitool and I'm making a fraction simplifier in it (all with alerts).我已经在一个巨大的数学多功能工具上工作了一段时间,我正在其中制作一个分数简化器(全部带有警报)。 I tried the following, what did I do wrong?我尝试了以下,我做错了什么?
if (confirm("Confirm to select a program\nCurrent program: Fraction Simplifier") == true) { var numerator = prompt("Enter the numerator"); var denominator = prompt("Enter the denominator"); var nFrac = numerator; var dFrac = denominator; simpFrac(); alert(numerator + "/" + denominator + " simplified is " + nFrac + "/" + dFrac); }; function simpFrac() { for (var i = 1; i < dFrac; i++) { fracV = fracV + 1; if (Number.isInteger(nFrac / fracV) && Number.isInteger(dFrac / fracV)) { nFrac = nFrac / fracV; dFrac = dFrac / fracV; }; }; };
Divide the numerator and the denominator by the GCD.将分子和分母除以 GCD。
const GCD = (a, b) => b? GCD(b, a % b): a; let numerator = 15, denominator = 18; let div = GCD(numerator, denominator); console.log(`${numerator}/${denominator} simplifies to ${numerator/div}/${denominator/div}`);
someone answered and deleted their answer, I implemented their method.有人回答并删除了他们的答案,我实施了他们的方法。 It worked.有效。 Changed to变成
if (confirm("Confirm to select a program\nCurrent program: Fraction Simplifier") == true) {
if (confirm("Confirm to select a program\nCurrent program: Fraction Simplifier") == true) {
var numerator = prompt("Enter the numerator");
var denominator = prompt("Enter the denominator");
var GCD = (a, b) => b ? GCD(b, a % b) : a;
let div = GCD(numerator, denominator);
alert(numerator + "/" + denominator + " simplifies to " + numerator / div + "/" + denominator / div + ".");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.