4 条题解
-
1
#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
思路
遍历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
来水第三篇题解力()
这题纯模拟
首先第一种方法按题意老老实实写能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; }
- 1
信息
- ID
- 7
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 4
- 标签
- 递交数
- 66
- 已通过
- 30
- 上传者