c語言 3種方法 求出0~999之間的所有 水仙花數 並輸出
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
方法一:
#include <stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花數:
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%d\n ",n);
}
return 0;
}
輸出結果:
水仙花數:153
370
371
407
Press any key to continue
方法二:
#include <stdio.h>
#include <math.h>
int main()
{
int i,m,sum;
for(i=100;i<1000;i++)
{
sum=0;
m=i;
do
{
sum=sum+pow(m%10,3);//pow(a,b)是指a的b次冪是double型的
m=m/10;
}
while
if(sum==i)
printf("%d ",i);
}
printf("\n");
return 0;
}
執行結果:
153 370 371 407
Press any key to continue
方法三:
#include <stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花數:",n);
for(n=100;n<1000;n++)
{
i=n/100;
j=(n-i*100)/10;
k=n-i*100-j*10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%d\n ",n);
}
return 0;
}
結果:
水仙花數:153
370
371
407
Press any key to continue
本文出自 “巖梟” 部落格,請務必保留此出處http://yaoyaolx.blog.51cto.com/10732111/1713857