加
const sum = (m, n) => {
m = Array(m + 1).join('#');
n = Array(n + 1).join('#');
return m.replace(/$/, n).length;
};
sum(3, 2);
减
const diff = (m, n) => {
m = Array(m + 1).join('#');
n = Array(n + 1).join('#');
return m.replace(n, '').length;
};
diff(3, 2);
乘
const product = (m, n) => {
m = Array(m + 1).join('#');
n = Array(n + 1).join('#');
return m.replace(/\#/g, n).length;
};
product(3, 2);
除
const division = (m, n) => {
m = Array(m + 1).join('#');
n = Array(n + 1).join('#');
return m.replace(new RegExp(n, 'g'), '#').length;
};
division(6, 2);
余
const remainder = (m, n) => {
m = Array(m + 1).join('#');
n = Array(n + 1).join('#');
return m.replace(new RegExp(n, 'g'), '').length;
};
remainder(7, 2);
平方
const square = (m) => {
m = Array(m + 1).join('#');
return m.replace(/./, m).length;
};
square(2);
奇偶性
const isOdd = (m) => {
m = Array(m + 1).join('#');
return /^.(.{2})+$/.test(m);
};
isOdd(2);
素数
const isPrime = (m) => {
m = Array(m + 1).join('#');
return /^(?!(.{2,})\1+$)(?=.{2,}$)/.test(m);
};
isPrime(2);
最大公约数
const greatestCommonDivisor = (n, m) => {
n = Array( n + 1).join('#')
m = Array( m + 1).join('#')
return (`${n}-${m}`).match(/^(.+)\1*-\1+$/)[1].length
}
greatestCommonDivisor(12, 8);