众神之战2女演员谁:问个关于C语言的问题 !!!急用!!!

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 13:29:22
打印所有的“水仙花数“,所谓水仙花数 是指一个3为数其各位数立方和等于该数本身例如153是一个水仙花数应为1的立方+5的立方+3的立方

#include <stdio.h>
#include <stdlib.h>
main()
{
int d1,d2,d3;
int i;
for (i=100;i<=999;i++){
d1 = i / 100;
d2 = (i - d1 * 100) / 10;
d3 = i - d1 * 100 - d2 * 10;
if (i == (d1*d1*d1 + d2*d2*d2 + d3*d3*d3) ){
printf("%1d%1d%1d\n",d1,d2,d3);
}
}
}

---------------------
153
370
371
407

#include <stdio.h>
#include <math.h>
void main()
{
int i, j, k;
int n;
for (n = 100; n < 1000; n++)
{
i = n / 100;
j = n / 10 - i * 10;
k = n - i * 100 - j * 10;
if (pow(i, 3) + pow(j, 3) + pow(k, 3) == n)
printf("%d ", n);
}
}

#include <stdio.h>

int main()
{
int a, b, c;
for (int x = 100;x < 1000 ; ++x)
{
a = x % 10; //获取最低位
b = (x % 100 - a) / 10;//获取第二位
c = (x - x % 100) / 100;//获取最高位
if (a*a*a+b*b*b+c*c*c==x)
{
printf("%d\n", x);
}
}
return 0;
}

void print(){
int a,b,c;
for(a=1;a<=9;a++){
for(b=1;b<=9;a++){
for(c=1;c<=9;a++){
if(a*a*a+b*b*b+c*c*c=a*100+b*100+c*100)
cout<<a*100+b*100+c*100;
}
}
}

这个数的范围是000-999
int i;
long a,b,c;
for(i=0;i<=999;i++)
{
a=i/100;
b=i/10-(i/100)*10;
c=i-(i/10)*100;
if(a*a+b*b+c*c==i)
cout<<i<<endl;
}
主程序就是这样,这是用c++写的
你用C再改以下

“是指一个3为数其各位数立方和等于...”
应该是“是指一个3位数,其各位数立方和等于...”吧?

做个从0到9的三层循环不就解决了吗?

拜托提问严谨一点