解题思路:把每一项拆开来看,可看做一个等比数列的和,在对这些项用一个for循环从而求出Sn


注意事项:

参考代码:

#include#includeint main()
{
/*求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。
例如,n=5时=2+22+222+2222+22222,n由键盘输入。*/
/*2=2(10,0)  22=2+2(10,1)  222=2+2(10,1)+2(10,2)  2222=2(10,0)+2(10,1)+2(10,2)+
2(10,3)  22222=2(10,0)+2(10,1)+2(10,2)+2(10,3)+2(10,4)可看做一个等比数列求和 
公比为10 首项为2(10,0) 故可每一项为该数列的和,定义n为该数列的项数,Sn则为每一项的和
代码如下
*/
 
    int Sn=0,n,a=2,q=10;         
    scanf("%d",&n);   
    for(int i=1;i<=n;i++)
    Sn+=(a*(1-pow(10,i)))/(1-q);
    printf("%d",Sn);
    return 0;
}


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论