江小虫儿


私信TA

用户名:wmmjjjccc

访问量:3291

签 名:

等  级
排  名 4225
经  验 1667
参赛次数 0
文章发表 8
年  龄 0
在职情况 学生
学  校 五邑大学
专  业

  自我简介:

TA的其他文章

解题思路:

b=1

b=10

b=100

b=1000

......

即 b*=10;



temp=2*1

temp=2*1+2*10

temp=2*1+2*10+2*100

......

即 temp+=2*b;(特殊的,i==1时,temp+=2;)


temp每添加一节,sum就加一次temp。

即 sum+=sum;




注意事项:

一开始我以为要双层for循环才能解决。思考了一会儿才发现,一个for循环就能解决,temp每增长一节,sum就加一次temp。



参考代码:

#include<stdio.h>

int main()

{

     int n,temp=0,sum=0,b=1;

     scanf("%d",&n);

    

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

     {

         if (i == 1)

         {

              temp += 2;

         }

         else {

              b *= 10;

              temp += 2 * b;

         }

        

         sum += temp;

     }

     printf("%d\n", sum);

    

     return 0;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区