int sum(int n)//前n项的和
{
if(n==0)
return 0;
else
return n+sum(n-1);
}
double Jchen(int n)//n的阶乘
{
if(n==0)
return 1
else if(n==1)
return 1
else
return n*Jchen(n-1);
}
int gcd_iteration(int x,int y)//迭代实现求最大公约数
{
int r=x%y;
while(r!=0)
{
x=y;
y=r;
r=x%y;
}
return y;
}
int gcd_rexusrion(int x,int y)//最大公约数 递归
{
if(y==0)
return x;
else
return gcd(y,x%y);
}
int gcd_rexusrion(int x,int y)//最大公约数
{
return y==0?x:gcd_rexusrion(y,x%y);
}
int gcd_rexusrion(int x,int y)//最大公约数
{
if(x%y==0)
return y;
else
return gcd(y,x%y);
}
int fbc(int n)//菲波纳契数列
{
if(n==0)
return 1
else if(n==1)
return 1
else
return fbc(n-2)+fbc(n-1)
}
int binary_serach(int * a,int key,int start,int end)
{
int mid=(end-start)/2+start;
if(key==*(a+mid))
return mid;
else if(key>*(a+mid))
binary_serach(a,key,mid+1,end);
else if(key<*(a+mid))
binary_serach(a,key,start,mid-1);
else
return -1;
}
void printArray(int *a,int start,int end)
{
if(start<end)
{
cout<<*(a+start);//正着打印
printArray(a,start++,end);
}
}
void printArray(int *a,int start,int end)
{
if(start<end)
{
printArray(a,start++,end);//倒着打印 ++start/start+1
cout<<*(a+start);
}
}