25 条题解

  • 15
    @ 2023-1-7 19:47:57

    题目要求:s=a+aa+aaa+...aa..aa, 比如:读入5,s=5+55+555+5555+55555=61725


    理一下思路:

    1.n表示进行运算的数字,也表示循环的次数。 2.sum存储算式的和。 3.sacn表示算式中的每个数。 4.mm代表i 如:n=3--循环3次

    一次 二次 三次
    i=1 i=2 i=3
    sacn=3 sacn=33 sacn=333
    sum=3 sum=36 sum=369

    输出sum;


    (正常输入n,循环n次用中间变量k去统计位数, 中间变量ans定义当前值,sum去累加。)


    OK上代码:


    代码如下:

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n,sum=0,ans,k;
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            ans=n;           //给ans定义初始值
            k=i;                //记录次数,不可直接用i会导致循环出错
            while(--k)          
            {
                ans=ans*10+n;      //定义当前值
            }
            sum+=ans;            //累加
        }
        cout<<sum;                 
        return 0;
    }
    

    题解不易,点个赞呗😁

    • @ 2023-3-1 21:29:03

      哥们这么喜欢抄别人的题解,怕被发现还用缝合?难蚌😋

    • @ 2023-6-13 21:02:48

      👀️

    • @ 2023-7-21 16:02:36

      您要是多发点答案,人气不就上来了吗

    • @ 2023-11-11 9:53:43

      @ 我发了20+次了,还在LV6 em~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • 7
    @ 2023-5-2 9:52:00

    感觉我这个思路比较简单 可以直接根据读入的数值,算1+11+111+1111…… 最后乘n就好了 pow(a,b)算a的b次方

    
    #include <bits/stdc++.h> 
    using namespace std;
    int main()
    {
        int n,p=0,s=0;
        cin >> n;
        for (int i=0;i<n;i++)
        {
            p+=pow(10,i);//每次的数
            s+=p;//总和
        }
        cout << n*s;
        return 0;
    }
    
    
    
    • @ 2023-5-2 9:52:52

      为什么我的题解多一块空白?

    • @ 2023-6-11 17:55:17

      @ 删掉这3个` 透明的 上下共6个

    • @ 2023-11-17 12:48:09

      你最好重弄:先复制代码,再粘贴上,然后在上面打字。

  • 4
    @ 2023-7-20 17:16:18

    先来思路

    (此思路以a=2为准)

    次数
    i 1 2 3
    num 2 22 222
    sum 24 246

    可以用for循环将a加入num末尾 好了

    再上程序

    #include <cstdio>
    using namespace std;
    int main(){
        int a,num,sum=0;
        scanf("%d",&a);
        for(int i=1;i<=a;i++){//I表示num中a的个数
            num=0;//初始化num
            for(int j=1;j<=i;j++)num=num*10+a;//通过把num十进制左移一位再加a来吧a加入末尾
            sum+=num;
        }
        printf("%d",sum);
        return 0;
    }//以AC,请放心食用
    
    • 3
      @ 2024-4-5 15:42:13

      题解制作不易,还望给个硬币 这对我真的很重要!!!

      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
      int n,sum=0,ans,k;
      cin>>n;
      for(int i=1;i<=n;i++)
      {
      ans=n;
      k=i;
      while(--k)
      {
      ans=ans*10+n;
      }
      sum+=ans;
      }
      cout<<sum;
      return 0;
      }
      
      别忘了啊!!!
      
      • 2
        @ 2024-5-25 20:44:28
        #include<bits/stdc++.h>
        using namespace std;
        int main()
        {
            int s=0,a;
            cin>>a;
            for(int i=0;i<a;i++)
            {
                s+=a*(a-i)*pow(10,i); 
            }
            cout<<s;
        }
        

        解题思路: 观察 比如:读入5,a=5+55+555+5555+55555=61725 所有个位数相加是aa1; 十位数相加是a*(a-1)10; 百位数相加是a(a-2)100; ······· 以此得出:a(a-i)*pow(10,i) 然后累加到s就可以了。 已AC,放心食用,第一次发题解好开心!

        • 2
          @ 2023-6-11 17:51:12

          1: 1 * 1 2: 2 * 1+2 * 11 a[1,11,111,...]

          #include<bits/stdc++.h>
          using namespace std;
          int main(){
              int a[10],s;
              cin>>s;
          

          定义+输入

          //暴力起步!
              a[1]=1;
              a[2]=11;
              a[3]=111;
              a[4]=1111;
              a[5]=11111;
              a[6]=111111;
              a[7]=1111111;
              a[8]=11111111;
              a[9]=111111111;
          

          数组定义如上

          int ans=0;
              for(int i=1;i<=s;i++){
                  ans+=s*a[i];
              }cout<<ans;
              return 0;
          }
          
          • 1
            @ 2023-12-18 0:23:05
            //水平有限,没有办法直接在递归中完成,哪位大神指点一下怎么一步到位!
            #include<iostream>
            using namespace std;
            int s,sum;
            int f(int a,int n)
            {
                if(n==1)return a;//递归的终止条件:当n等于1的时候就返回a;
                return a+f(a,n-1)*10;//一直到a是个位数为止,否则一直*10+a产生a个数位的a;
                }
            int main()
            {
                int a;
                cin>>a;
                s=f(a,a);
                while(s>0){
                    sum+=s;//从a位数位的a开始累加;
                    s/=10;//每次减少一个数位;
                }
                cout<<sum;
                return 0;
            }
            
            • @ 2023-12-18 0:30:31

              看这个题归类在递归,可是解题没有看到有递归的解法,我来试一下,但觉得还不是最佳,大家指点一下,怎么才能在递归中直接解决!

          • 1
            @ 2022-8-20 15:39:57
            for (int i=2;i<=a;i++)//递推求出数并相加
            {
                x[i]=x[i-1]*10+a;
                sum+=x[i];
            }
            
            • 1
              @ 2022-8-19 9:58:09

              很难

              理一下思路:

              1.n表示进行运算的数字,也表示循环的次数。 2.sum存储算式的和。 3.sacn表示算式中的每个数。 4.mm代表i 如:n=3--循环3次

              一次 二次 三次
              i=1 i=2 i=3
              sacn=3 sacn=33 sacn=333
              sum=3 sum=36 sum=369

              输出sum;

              OK上代码:

              #include 
              using namespace std;
              int n,sum,sacn,mm;
              int main()
              {
                  cin>>n;
                  for(int i=1;i<=n;i++)
                  {
                      sacn=n;
                      mm=i;
                      while(--mm)
                      {
                          sacn=sacn*10+n;
                      }
                      sum+=sacn;
                  }
                  cout<<sum;
                  return 0;
              }
              
            • 0
              @ 2024-4-6 11:50:00

              最暴力的方法(没有之一)

              #include <iostream>
              using namespace std;
              int main()
              {
                  int n;
                  cin >>n;
                  if (n == 1) cout << 1;
                  if (n == 2) cout << 24;
                  if (n == 3) cout << 369;
                  if (n == 4) cout << 4936;
                  if (n == 5) cout << 61725;
                  if (n == 6) cout << 740736;
                  if (n == 7) cout << 8641969;
                  if (n == 8) cout << 98765424;
                  if (n == 9) cout << 1111111101;
                  return 0;
              }
              
              • 0
                @ 2024-4-5 8:28:35

                极简

                #include <iostream>
                using namespace std;
                int main()
                {
                    int a,n=0;
                    cin >> a;
                    long long s=0;
                    for (int i=1;i<=a;i++)
                    {
                        n=n*10+a;
                        s+=n;
                    }
                    cout << s;
                    return 0;
                }
                
                • 0
                  @ 2023-11-9 21:54:06

                  先分析一下

                  1 10 100
                  s=a*a(省略一) s=a*(a-1)*10 s=a*(a-2)*100

                  准备!上代码! go!


                  #include <bits/stdc++.h>
                  using namespace std;
                  int main()
                  {
                  	int n=0,a,g,i=1;
                  	cin>>a;
                  	for(g=a;g>=1;g--)
                  	{
                  		n+=(a*g*i);
                  		i*=10;
                  	}
                  	cout<<n;
                  	return 0; 
                  }
                  

                  创作不易,点个不要钱的小赞再走😄

                  • 0
                    @ 2023-9-1 16:01:01

                    过辣!一时暴力一时爽,一直暴力一直爽!

                    #include <bits/stdc++.h>
                    using namespace std;
                    int main()
                    {
                        int n,sum=0;
                    //    a[0], a[1], a[2],a[3],a[4], a[5], a[6],  a[7],   a[8],     a[9]
                        int a[11]={1,1,11,111,1111,11111,111111,1111111,11111111,111111111};
                        scanf("%d",&n);
                        for (int i=1;i<=n;i++)sum+=(n*a[i]);
                        printf("%d",sum);
                        ;;;;;;
                        return 0;
                    }
                    
                    • 0
                      @ 2023-7-2 9:52:09

                      #include <bits/stdc++.h> using namespace std; int ans = 10,a,num[10],sum; int main(){ cin >> a; num[1] = a; num[2] = 10*a + num[1]; sum += (num[1]+ num[2]); for(int i = 3;i <= a;i++){ ans = 10; num[i] = ansa + num[i - 1]; sum += num[i]; } cout << sum; } 其实,这题可以理解成“前缀和”的亲戚,将数组中每个数确定后相加;我没有用平方,其实用一个数每次计算后乘十也行具体看代码;编排有问题,见谅;

                      • 0
                        @ 2023-4-10 10:06:46

                        思路:暴力拆除 如果n=1; 输出:1; 如果是2; 输出:122; 如果是3; 输出:1233; 同理…… 最后: return 0; }


                        int n,sum=0;

                        cin<<n;

                        if (n==1)//如果n是1

                        cout >>1;//那么输出1

                        else if (n==2)//如果n是2

                        cout >>210+22;//那么输出2*12

                        else if (n==3)//以此类推

                        cout >>3100+320+3*3;

                        else if (n==4)

                        cout >>41000+4200+430+44;

                        else if (n==5)

                        cout >>510000+52000+5300+540+5*5;

                        else if (n==6)

                        cout >>6100000+620000+63000+6400+650+66;

                        else if (n==7) { cout >>71000000+7200000+730000+74000+7500+760+7*7;

                        else if (n==8)

                        cout >>810000000+82000000+8300000+840000+85000+8600+870+88;

                        else if (n==9)

                        cout >>9100000000+920000000+93000000+9400000+950000+96000+9700+980+9*9;

                        return 0;

                        //代码中有语法错误 无法直接抄写。

                      • 0
                        @ 2023-2-25 17:45:11

                        爱打表真是个好习惯

                        #include<bits/stdc++.h>
                        using namespace std;
                        int b[10]={1,24,369,4936,61725,740736,8641969,98765424,1111111101};
                        int main()
                        {
                            int a;
                            cin>>a;
                            cout<<b[a-1];
                        }
                        
                        • 0
                          @ 2023-1-14 13:33:58

                          暴力出奇迹

                          #include <iostream>//hetao3097453
                          using namespace std;
                          int a[10],sum;
                          int main()
                          {
                              a[1] = 1;
                              a[2] = 11;
                              a[3] = 111;
                              a[4] = 1111;
                              a[5] = 11111;
                              a[6] = 111111;
                              a[7] = 1111111;
                              a[8] = 11111111;
                              a[9] = 111111111;
                              int n;
                              cin >> n;
                              for(int i = 1;i <= n;i++)
                              {
                                  sum += n * a[i];
                              }
                              cout << sum;
                              return 0;
                          }
                          
                          
                          • 0
                            @ 2022-12-31 20:56:17
                            #include<iostream>
                            using namespace std;
                            int main()
                            {
                                int n,a[9]={1,11,111,1111,11111,111111,1111111,11111111,111111111},num=0;
                                cin>>n;
                                for(int i=0;i<n;i++)
                                {
                                    num+=n*a[i];
                                }
                                cout << num;
                                return 0;
                            }
                            
                            • 0
                              @ 2022-12-4 10:40:44
                              #include<iostream>
                              using namespace std;
                              int a,a2=1,asum=1,anum;
                              int main()
                              {
                                  cin>>a;
                                  for(int j=1;j<=a;j++)
                                  {
                                      for(int i=1;i<=a2;i++)
                                      {
                                          anum+=a*asum;
                                          asum*=10;
                                      }
                                      asum=1;
                                      a2++;
                                  }
                                  cout<<anum;
                                  return 0;
                              }
                              
                            • 0

                              一个while循环就解决的事,何必用嵌套呢

                              #include <bits/stdc++.h>
                              using namespace std;
                              int a,sum,num,t;
                              int main()
                              {
                              
                                  cin>>a;
                                  t=a;
                                  while(t>0)
                                  {
                                      num=num*10+a;
                                      sum+=num;
                                      t--;
                                  }
                                  cout<<sum;                 
                                  return 0;
                              }
                              

                              题解不易,点个赞呗😄

                            [入门]求s=a+aa+aaa+aaaa+aa...a的值

                            信息

                            ID
                            245
                            时间
                            1000ms
                            内存
                            256MiB
                            难度
                            4
                            标签
                            递交数
                            1184
                            已通过
                            575
                            上传者