[b]1. java阶乘算法[/b]
[b]2. 折半查找[/b]
//程序入口
public static void main(String args[])
{
//定义变量sum用来保存阶乘的结果的和
long sum = 0;
//定义变量i
int i;
//这是外循环,变量i的值从1向10递增,
for(i=1;i<=10;i++)
{
//定义变量ji用来保存某个数的阶乘结果
long ji = 1;
//定义变量J
int j;
//这是内循环,变量j将从1向i递增
for(j=1;j<=i;j++)
{
//当j=1时 JI=JI*J=1*1=1;
//当J=2时 JI=JI*J=1*2=2;
//当J=3时 JI=JI*J=2*3=6
//当J=4时 JI=JI*J=6*4=24
//以此类推直到 J=I 时,循环结束...
ji *= j;//这行程序等效于: ji=ji*j;
}
//总和加上刚才某个数的阶乘的结果
sum += ji;//这行程序等效于: sum=sum+ji;
}
//打印输出结果
System.out.println("结果是:"+sum);
}
}
[b]2. 折半查找[/b]
public int find(int[] values, int key){
int lowerBound = 0;
int upperBound = values.length -1 ;
int curIn;
while(true){
curIn = (lowerBound + upperBound ) / 2;
if(values[curIn] == key){
return curIn;
}else if(lowerBound > upperBound){
return values.length;
}
else{
if(values[curIn] < key){
lowerBound = curIn + 1;
}else{
upperBound = curIn - 1;
}
}
}
}