6 条题解

  • 1
    @ 2025-8-4 10:09:44
    #include <iostream>
    #include <cmath> // 用于 pow 函数
    using namespace std;
    
    // 函数:检查一个数字是否是水仙花数 
    bool isNarcissistic(int number) {
        int original = number;
        int sum = 0;
        int n = 0;
        int temp = number;
        
        // 计算数字的位数 n 
        while (temp != 0) {
            temp /= 10;
            n++;
        }
        
        temp = original; // 重置临时变量 
        // 计算各位数字的 n 次方和 
        while (temp != 0) {
            int digit = temp % 10; // 提取最后一位数字 
            sum += pow(digit, n); // 累加 n 次方 
            temp /= 10; // 移除最后一位 
        }
        
        return (sum == original); // 比较和与原数
    }
    
    int main() {
        for (int i = 100; i <= 999; i++) {
            if (isNarcissistic(i)) {
                cout << i << "\n";
            }
        }
        return 0;
    }
    
    • 1
      @ 2025-8-4 10:06:00
      
      for i in range(100, 1000):
          a = i % 10
          b = (i // 10) % 10 
          c = i // 100
          sum_cubes = a**3 + b**3 + c**3
          if sum_cubes == i:
              print(i)
      
      • 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
              标签
              递交数
              71
              已通过
              33
              上传者