1、输入整数n,输出数组(string[])中每一项都是分数,且每一项都是最简分数,不能重复;
示例: 输入n = 2; 返回 ['1/2'];
输入n = 4;返回 ['1/2', '1/3', '2/3', '1/4', '3/4'];
输入n = 6; 返回 ['1/2', '1/3', '2/3', '1/4', '3/4', '1/5', '2/5', '3/5', '4/5', '1/6', '5/6'];
//计算最大公约数
function gcd(a,b){
var result = 1;
for(var i = 1; i <= a && i <= b; i++ ){
if(a%i == 0 && b%i == 0 ){
result = i;
}
}
return result;
}
function gcd1(a,b){
if(b == 0){
return a;
}
var r = a % b;
console.log(r);
return gcd(b,r);
}
function gcd2(a,b){
var temp;
while(b != 0){
temp = a % b;
a = b;
b = temp;
}
return a;
}
// 最小公倍数
function scm(a,b){
return (a*b)/gcd(a,b);
}
/**
* @param {number} n
* @return {string[]}
*/
function Fraction(n){
let arr = [];
for(let i= 2; i <= n; i++){
for(let k = 1; k < i; k++){
if(gcd(k,i)== 1){
// 1.break:跳出当前循环体,也称结束当前循环体
// 2.continue:跳出此次循环,继续执行下一次循环
arr.push(k+'/'+i)
}
}
}
return arr;
}
console.log(Fraction(10));
// =>['1/2', '1/3', '2/3', '1/4', '3/4', '1/5', '2/5', '3/5', '4/5', '1/6', '5/6', '1/7', '2/7', '3/7', '4/7', '5/7', '6/7', '1/8', '3/8', '5/8', '7/8', '1/9', '2/9', '4/9', '5/9', '7/9', '8/9', '1/10', '3/10','7/10', '9/10']