永发信息网

c语言水仙花算法

答案:3  悬赏:0  手机版
解决时间 2021-05-02 09:56
  • 提问者网友:却不属于对方
  • 2021-05-01 17:25
#include<stdio.h>
main()
{
int i,a,b,c,m;
for (i=100;i<1000;i++)
for (a=0;a<10;a++)
for (b=0;b<10;b++)
for (c=0;c<10;c++)
{
if (100*a+10*b+c == i)
{
if (a*a*a+b*b*b+c*c*c==i)
printf("%d",i);
}

}

}






把代码简化一下

最佳答案
  • 五星知识达人网友:拜訪者
  • 2021-05-01 18:16

#include<stdio.h>


#include<math.h>


void main()


{


long int x,y,i;


for(i=1;i<10000;i++)


{


x=sqrt(i+100);


y=sqrt(i+268);


if(x*x==i+100&&y*y==i+268)


printf("%d\n",i);


}


}

全部回答
  • 1楼网友:末日狂欢
  • 2021-05-01 20:55

实在是佩服提问者对于程序复杂度的认识。

代码如下:

#include <cstdlib> #include <iostream>

using namespace std;

int zh(int x) {     int y=1;     for(int i=1;i<=3;i++)     y=y*x;     return y; } int main(int argc, char *argv[]) {        int k,j;     for(int i=100;i<=999;i++)     {         int sum=0,j=i;               while(j!=0)     {     k=j%10;     j=j/10;     sum=sum+zh(k);     }     if(sum==i)     cout<<sum<<endl;     }       system("PAUSE");     return EXIT_SUCCESS; }

  • 2楼网友:我住北渡口
  • 2021-05-01 19:26

#include<stdio.h> main() { int i,a,b,c,m; for (i=100;i<1000;i++) { a=i/100;   b=i%100/10;   c=i%10;  if (a*a*a+b*b*b+c*c*c==i)   printf("%d  ",i); }

printf("\n");

} //可以

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯