简体   繁体   English

如何化简分数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM