不知道你要用啥语言编写,但是基本原理都是一样的,三位数是指100-999
对计算机来说很少的,
循环遍历就可以了。
这个数除以100取整得到百位,除以10取整,再减去10*百位数得到十位, 个位类似
大概是下面这样,根据你用的语言,自己调整吧
for i=100 to 999
if int(i/100)^3+(int(i/10)-10*int(i/100))^3+(i-10*int(i/10)-100*int(i/100))^3=i
print i
next i
Private Sub Form_Click()
Dim a%, b%, c%
For t = 100 To 900
a = t \ 100
b = (t Mod 100) \ 10
c = (t Mod 100) Mod 10
If a ^ 3 + b ^ 3 + c ^ 3 = t Then Print t
Next t
End Sub
vb语言写的,希望对你有帮助
371 370
#include
int main()
{
int i,j,k,l;
for(l=100;l<1000;l++)
{
i=l/100;
j=l%100/10;
k=l%10;
if(i*i*i+j*j*j+k*k*k==l)
printf("%d ",l);
}
}