最简单的递归,没啥好说的:
#include <stdio.h>
#include <stdlib.h>
int tot=0;
void addto(int number){
if (number <= 0){
printf("Final:total=%d\n",tot);
tot=0;
}
else{
printf("Now total: %d=%d+%d\n",tot+number,tot,number);
tot=tot+number;
addto(number-1);
}
}
void tesksample(){
printf("10的递加:\n");
addto(10);
}
int main(){
tesksample();
return 0;
}
运行结果:
总结:
这种累加的时间复杂度与 for 循环的一致, 均为 O ( n ) O(n)O(n), 但空间复杂度为 O ( n ) O(n)O(n), 比 for 循环的 O ( 1 ) O(1)O(1) 高.
其他没啥了