//递归
int segment(int length,int width){
if(length%width==0) return width;
return segment(width,length%width);
}
//递推
int segment1(int length,int width){
int w=0;
while(length%width!=0){
w=length%width;
length=width;
width=w;
}
return width;
}
//递归实现数组累加
int sumArray(int arr[],int len){
if(len==1){
return arr[0];
}
return sumArray(arr,len-1)+arr[len-1];
}
//递推
int sumArray2(int arr[],int length){
if(length==0) return 0;
int sum=0;
for(int i=0;i<length;i++){
sum=arr[i]+sum;
}
return sum;
}
int main () {
printf("递归分土地:%d\n",segment(1680,640));
printf("递推分土地:%d\n",segment1(1680,640));
int s[]={2,4,6};
printf("%d \n",sumArray(s,3));
printf("%d \n",sumArray2(s,3));
return 0;
}