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;
}

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM