4 条题解

  • 0
    @ 2024-9-22 17:01:27
    #include<bits/stdc++.h>
    using namespace std;
    int c;
    long long a[201],m,b[201],mb;
    long long gen(int x,int y)
    {
        long long can=0;
        while(x>0)
        {
            can=can+pow(x%10,y+1);
            x/=10;
        }
        return can;
    }
    int main()
    {
        scanf("%d",&c);
        int tmp;
        while(scanf("%d",&tmp)!=EOF)
        {
            if(tmp==-1) break;
            a[++m]=tmp; 
        }
        sort(a+1,a+1+m);
        for(int i=1;i<=c;i++)
        {
            mb=0;
            for(int j=1;j<=m;j++)
                if(a[j]!=0)
                    b[++mb]=gen(a[j],i);
            for(int j=1;j<=mb;j++)
                for(int k=1;k<=m;k++)
                    if(b[j]==a[k])
                        a[k]=-1;
        }
        for(int i=1;i<=m;i++)
            if(a[i]!=-1)
                printf("%lld ",a[i]);
        return 0;
    }
    
    • 0
      @ 2024-5-24 18:32:23

      #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int num[N]; int main(){ int n; cin>>n; int x; while(cin>>x) num[x] = 1; for(int i=2;i<=n+1;i++) { for(int j=1;j<=255;j++) { if(num[j]==1||num[j]==i) { int sum = 0,x = j; while(x) { sum += pow(x%10,i); x/=10; } if(sum < 300&&num[sum]==1) { num[sum]=i; } } } } for(int i = 1;i<=255;i++) { if(num[i] == 1) cout<<i<<" "; } return 0; }

      • 0
        @ 2023-1-14 19:33:44
        #include<bits/stdc++.h>
        using namespace std;
        int mypow(int n, int lun)//按照规则平方
        {
            int sum = 0;
            while (n)
            {
                int t = n % 10;
                sum += pow(t, lun);
                n /= 10;
            }
            return sum;
        }
        struct ac
        {
            int id;//编号
            int panduan;//判断是否淘汰  0淘汰
            int hou;//编号计算之后存放
        }a[1000];
        int main()
        {
            int n;
            while (cin >> n)//轮数
            {
                int t = 0;
                while (cin >> a[t].id)//输入编号
                    a[t++].panduan = 1;//判断先置1  表示不出局
                for (int i = 1;i <= n;i++)//进行几轮操作
                {
                    for (int j = 0;j < t;j++)
                        if (a[j].panduan)//判断是否出局
                            a[j].hou = mypow(a[j].id, i + 1);//平方运算
                    for (int j = 0;j < t;j++)
                        for (int q = 0;q < t;q++)
                            if (a[j].id == a[q].hou && a[j].panduan)
                                a[j].panduan = 0;//出局
                }
                int b[10000], q = 0;
                for (int i = 0;i < t;i++)
                    if (a[i].panduan)
                        b[q++] = a[i].id;
                sort(b, b + q);//从小到大排序
                for (int i = 0;i < q;i++)
                    cout << b[i] << " ";
                cout << endl;
            }
        }
        
        • -2
          @ 2023-5-25 22:47:36
          #include<bits/stdc++.h>
          using namespace std;
          int c;
          long long a[201],m,b[201],mb;
          long long gen(int x,int y)
          {
              long long can=0;
              while(x>0)
              {
                  can=can+pow(x%10,y+1);
                  x/=10;
              }
              return can;
          }
          int main()
          {
              scanf("%d",&c);
              int tmp;
              while(scanf("%d",&tmp)!=EOF)
              {
                  if(tmp==-1) break;
                  a[++m]=tmp; 
              }
              sort(a+1,a+1+m);
              for(int i=1;i<=c;i++)
              {
                  mb=0;
                  for(int j=1;j<=m;j++)
                      if(a[j]!=0)
                          b[++mb]=gen(a[j],i);
                  for(int j=1;j<=mb;j++)
                      for(int k=1;k<=m;k++)
                          if(b[j]==a[k])
                              a[k]=-1;
              }
              for(int i=1;i<=m;i++)
                  if(a[i]!=-1)
                      printf("%lld ",a[i]);
              return 0;
          }
          
          • 1

          信息

          ID
          1002
          时间
          1000ms
          内存
          128MiB
          难度
          6
          标签
          递交数
          420
          已通过
          140
          上传者