s=1+2*3+4*5*6+7*8*9*10+.... C语言求解

#include <stdio.h>
/*类似斐波那契数列的计算方式
   项           1   2    3      4
                1   2*3  4*5*6  7*8*9*10
生成项的起始数字  1   2    4      7
  和后一项的差值    1   2     3
*/
int startNum(int i){
    if(i==1)
        return 1;
    return startNum(i-1)+i-1;
}
/*获得第几项 Ai 
    方式是项起始数字乘下一个数字    
*/
int A(int i){
    int start, increase,a;
    a=start=startNum(i);
    for(increase=1;increase<i;increase++)
        a=a*(start+increase);
    return a;
}
int main(){
    int n, sum=0;
    scanf("%d", &n);
    /*求和 i代表下标*/
    for(int i=1;i<=n;i++){
        sum+=A(i);
    }
    
    printf("%d", sum);
    return 0;
}

 

 

posted @ 2017-12-13 10:52  一支小白  阅读(3709)  评论(0编辑  收藏  举报