版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21383977/article/details/83089797
1、斐波那契数列
function fabeliq(n){
var arr=[];
if(n==1){
return arr=[0];
}
if(n==2){
return arr=[0,1];
}else{
//初始化数组
arr=[0,1];
//前两个数默认为0
var prenum=0;
//当前一个数默认为1
var current=1;
while(n){
current += prenum;
prenum=current-prenum;
arr.push(current);
n--;
}
return arr;
}
}
2、位运算
//正负数 true正数 false负数
function isPositive(number) {
// Zero is neither a positive nor a negative number.
if (number === 0) {
return false;
}
return ((number >> 31) & 1) === 0;
}
//奇数偶数 true为偶数 false 为奇数
function isEven(number) {
return (number & 1) === 0;
}
3、素数
function sushu(number){
if(number %1 != 0){
return false;
}
if(number<=1){
return false;
}
if(number%2==0){
return false;
}
var delives=Math.sqrt(number);
for(var dels=3;dels<=delives;dels+=2){
if(number%dels==0){
return false;
}
}
return true;
}
4、最大公约数
function euclideanAlgorithm(originalA, originalB) {
const a = Math.abs(originalA);
const b = Math.abs(originalB);
return (b === 0) ? a : euclideanAlgorithm(b, a % b);
}
5、最小公倍数
/*最小公倍数=a*b / a和b的最大公约数
*/
function gongbeishu(a,b){
return ((a==0)||(b==0))?0:Math.abs(a*b)/euclideanAlgorithm(a,b);
}