3 条题解

  • 1
    @ 2025-12-20 14:14:27
    #include <iostream>
    using namespace std;
    int a;
    int main()
    {
    	cin >> a;
    	long long ans = 0;
    	for (int i = 1;i <= a;i++)
    		ans += i;
    	cout << ans;
    	return 0;
    }
    • 0
      @ 2023-4-23 13:36:40
      #include <cstdio>
       
      int a[100],n,l = 1;
       
      void input_data()
      {
          scanf("%d",&n);
      }
       
      void get_ans()
      {
          for (int i = 1;i <= 99;i++) //先给每个位上的数置0
              a[i] = 0;
          for (int i = 1;i <= n;i++) //从1 累加到 n
              {
                  a[1] += i; //直接在个位上递增i
                  for (int i = 1;i <= l;i++) //然后来处理进位问题 直接 + / 然后%一下就好
                      {
                          a[i+1] += (a[i]/10);
                          a[i] = a[i] % 10;
                      }
                  while (a[l+1] > 0) //延长位数。用一个while和l就能搞定
                      {
                          l++;
                          a[l+1] += (a[l] / 10);
                          a[l] = a[l] % 10;
                      }
              }
      }
       
      void output_ans() //最后要逆序输出答案。
      {
          for (int i = l;i >= 1;i--)
              printf("%d",a[i]);
      }
       
      int main()
      {
          input_data();
          get_ans();
          output_ans();
          return 0;
      }
      
      • -1
        @ 2023-9-27 18:23:00
        #include<cstdio>
        using namespace std;
        int a[10000];
        int main()
        {
        	int n,l=1,x;
        	a[0]=1;
        	scanf("%d",&n);
        	for(int i=2;i<=n;i++)
        	{
        		x=0;
        		for(int j=0;j<l;j++)
        		{
        			if(j==0)//第一位开始即其进位处理
        			{
        			a[j]=a[j]+i+x;
        			x=a[j]/10;
        			a[j]=a[j]%10;
        			}
        		else//对于第一位以后的进位处理
        			{
        			a[j]=a[j]+x;
        			x=a[j]/10;
        			a[j]=a[j]%10;
        			}
        	 }
        	if(x>0)
        		{
        		a[l++]=x;
        		}
        	}
        	while(a[l]==0&&l>=1)
        		l--;
        	for(int i=l;i>=0;i--)
        		printf("%d",a[i]);
        }
        
        
        
        • 1

        信息

        ID
        1196
        时间
        1000ms
        内存
        128MiB
        难度
        4
        标签
        递交数
        113
        已通过
        56
        上传者