二分法查找
function binarySeach( arr,val,leftIndex,rightIndex ){
//找到中间的值
var midIndex = Math.floor((leftIndex+rightIndex)/2);
var midval=arr[midIndex];
//console.log(midval );
if( leftIndex > rightIndex ){
console.log("前一位是",midval );
console.log("下标:",midIndex);
return ;
}
if( midval > val ){
binarySeach(arr,val,leftIndex,midIndex-1);
}else if(midval < val){
binarySeach(arr,val,midIndex+1,rightIndex);
}else{
console.log("找到了,下标为:"+midIndex);
return;
}
}
var arr=[1,3,12,21,24,44,54,67];
binarySeach(arr,25,0,arr.length-1);
求两个数的最大公约数,递归
function Gcd(var a, var b)
{
if(a<=0||b<=0)
return -1;
else if(a>b)
return Gcd(a-b, b);
else if(a<b)
return Gcd(a, b-a);
else
return a;
}
// 最小公倍数 两个整数的乘积 / 最大公约数
// a* b/gcd(a,b)
斐波那契数列
function Fibonacci(int n) {
if(n < 0){
return 0;
}
if(n == 0){
return 0;
}else if(n == 1){
return 1;
}else return Fibonacci(n-1)+ Fibonacci(n-2);
}
累加求和
int sum = 0;//定义初始化总和
for(int i=1;i<=100;i++){//从1开始循环到100
sum=sum+i;//加上当前序号
}
System.out.println(sum);//在控制台中打印出来
}