4 条题解

  • 1
    @ 2024-10-24 20:29:59
    #include <iostream>
    using namespace std;
    
    int main() {
        for (int num = 100; num <= 999; ++num) {
            int hundreds = num / 100;  // 百位
            int tens = (num / 10) % 10;  // 十位
            int ones = num % 10;  // 个位
    
            if (hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones == num) {
                cout << num << endl;
            }
        }
    
        return 0;
    }
    
    • 1
      @ 2024-10-18 23:20:28

      思路

      遍历1-1000所有数,使用数位分解获得个,十,百各个数位,计算立方和后与当前数对比,如果相等,输出。

      题解

      #include <iostream>
      #include <cstdio>
      using namespace std;
      int main() {
          int i, x, y, z;
          for (i = 100; i <= 1000; i++) {
              x = i % 10;             // 个
              y = (i / 10) % 10;      // 十
              z = (i / 100) % 10;     // 百
              int sum = x * x * x + y * y * y + z * z * z;
              if (i == sum) {
                  cout<<i<<endl;
              }
          }
          return 0;
      }
      
      • 1
        @ 2024-10-15 22:14:54

        来水第三篇题解力()

        这题纯模拟

        首先第一种方法按题意老老实实写能100但是运行次数较多

         #include <bits/stdc++.h>
         using namespace std;
         int main()
         {
             for(int i=1;i<=9;i++)
             {
                  for(int j=0;j<=9;j++)
                   {
                         for(int k=0;k<=9;k++)
                       {
                             int t=i*100+j*10+k;
                             if(i*i*i+j*j*j+k*k*k==t)
                             {
                                cout<<t<<endl;
                             }
                       }
                   }
             }
             return 0;
         }
        

        第二种方法直接用每个数判断 循环次数会少很多

        #include<bits/stdc++.h>
        using namespace std;
        int a,b,c;
        int main()
        {
            for(int i=100;i<=999;i++)
            {
                a=i/100;
                b=(i%100)/10;
                c=i%10;
                if(i==a*a*a+b*b*b+c*c*c)
                {
                    cout<<i<<endl;
                }
            }
            return 0;
        }
        
        • 0
          @ 2024-10-20 10:29:34

          x的三次方可以用x * x * x

          也可以用pow(x,3); AC Code

          ```cpp
          #include<bits/stdc++.h>
          using namespace std;
          int main(){
              for(int i=100;i<=999;i++)
                  if(pow(i%10,3)+pow(i/10%10,3)+pow(i/100,3)==i) cout<<i<<endl;
              return 0;
          }
          
          • 1

          信息

          ID
          7
          时间
          1000ms
          内存
          64MiB
          难度
          4
          标签
          递交数
          66
          已通过
          30
          上传者