目录
  1. 1. 特殊的数字
    1. 1.1. 问题描述
    2. 1.2. 问题分析
    3. 1.3. 代码实现
    4. 1.4. 运行结果
    5. 1.5. 总结
特殊的数字

特殊的数字

问题描述

问题描述

  153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1×1×1+5×5×5+3×3×3。编程求所有满足这种条件的三位十进制数。

输出格式

  按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。

问题分析

首先范围确定,是3位十进制数,其次,是循环遍历输出

代码实现

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
// 153是一个非常特殊的数,它等于它的每位数字的立方和,
// 即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。
int main(){
int g,s,b;

//3位数字
for(int j=100;j<1000;j++){
g=j%10;
s=j/10%10;
b=j/100;
if(pow(g,3)+pow(s,3)+pow(b,3)==j)// 第1位等于第4位,第2位等于第3位
cout<<j<<endl;
}

}

运行结果

153
370
371
407

--------------------------------
Process exited after 1.84 seconds with return value 0
请按任意键继续. . .

总结

主要是将数字逐个拆分,然后利用pow()函数求立方,得满足三个数的立方和等于原数。

文章作者: Jachie Xie
文章链接: https://xjc5772.github.io/2020-01/16/%E7%AE%97%E6%B3%95/%E7%89%B9%E6%AE%8A%E7%9A%84%E6%95%B0%E5%AD%97/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XJC&Blog
打赏
  • 微信
  • 支付宝

评论