小菜


私信TA

用户名:1986489560

访问量:1241

签 名:

要向阳而生

等  级
排  名 30208
经  验 504
参赛次数 0
文章发表 3
年  龄 20
在职情况 学生
学  校 山西科技学院
专  业

  自我简介:

解题思路:每一项相加,最后得到Sn的值;第一项是2,第二项是2*10+2;第三项是22*10+2;第四项是222*10+2.......Sn初值为0;Sn=0+2+22+222+.....;

重要思路的代码为:

for(i=1;i<=n;i++)

{   s=s*10+a;

    Sn+=s;

}


s是每一项的值,例如:2,22,222.....
注意事项:想必大家和我刚开始的思路会有一定相似,会想第一项是2,第二项是2*10+2,第三项是2*100+2*10+2,第四项.....这样分开来求解,会有难度,如果你是一个新手编程者,对于算法不是很通透的话,思路相对清晰但是代码总是达不到自己预期的效果。仅代表个人看法,欢迎你有更好的想法哦!

参考代码:

#include<iostream>

using namespace std;

int main()

{

int a=2;

int n;

int s=0;

int i=1;

int Sn=0;

cin>>n;

for(i=1;i<=n;i++)

{   s=s*10+a;

    Sn+=s;

}

cout<<Sn<<endl;

return 0;

}


 

0.0分

1 人评分

  评论区

  • «
  • »