1、求1+2+…+n
int sumNums(int n){
n&&(n+=sumNums(n-1));
return n;
}
2、Sum Problem
emm,没打开这道题链接
参考了其他人的题解,需要再多看看这道题
int** findContinuousSequence(int target, int* returnSize, int** returnColumnSizes){
int *col =malloc(sizeof(int)*target/2);
int m=0;
int **ret=(int **)malloc(sizeof(int *)*target/2);
int left =1;int right =2;
int len=target/2+1;
int sum=left+right;
while(right<=len){
if(sum==target){
col[m]=(right-left+1);
ret[m]=(int *)malloc(sizeof(int )*col[m]);
for(int i=0;i<col[m];++i){
ret[m][i]=i+left;
}
sum-=left;
left++;
m++;
}else if(sum<target){
right++;
sum+=right;
}else{
sum-=left;
left++;
}
}
*returnColumnSizes=col;
*returnSize=m;
return ret;
}