我想问这个求出的值是不是只有一个
他们给我的要求是
#include
#include
using namespace std;
int main(){
int a[3];
int b;
for(int i = 100;100<=i && i<1000 ;i++){
a[0] = i%10; //求个位的数
a[1] = i/10%10; //求十位的数
a[2] = i/100; //求百位的数
b = pow(a[0],3) + pow(a[1],3) + pow(a[2],3);
if(i % 3 == 0 && i == b ){ //i%3求是不是3的倍数 i==b 求个,十,百的立方之和等于这个数
cout<<"百位数"<2] <<" 十位数"<1]<<" 个位数"<0]<<" 该数为"<< i<
我想知道我有什么问题,还是他们看错了
望采纳
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
// 枚举 100 到 1000 之间的所有数
for (int i = 100; i <= 1000; i++)
{
// 如果这个数不是 3 的倍数,则跳过
if (i % 3 != 0)
{
continue;
}
// 计算个位上的数、十位上的数、百位上的数
int ones = i % 10;
int tens = i / 10 % 10;
int hundreds = i / 100;
// 计算立方之和
int sum = pow(ones, 3) + pow(tens, 3) + pow(hundreds, 3);
// 如果立方之和等于这个百位数,则输出这个数
if (sum == hundreds)
{
cout << i << endl;
}
}
return 0;
}
谁说代码有问题啊?没看明白
后面半拉是水仙花数,还要是3的倍数,水仙花数一共4个,153,370,371,407。其中只有153是3的倍数