在c语言中,讲到算法,其中有个问题是求三位数的““水仙花数”,那么什么是“水仙花数”呢?
水仙花数是 是一个n(>=3)位数字的数, 它等于每个数字的n次幂之和. 例如, 153是一个水仙花数, 153=1*1*1+5*5*5+3*3*3;
例1,c语言求三位数的小仙花数。
复制代码 代码示例:
#
include <stdio.h>
main()
/*
* 三位数的求法,用3个for循环就可以了;
* 153是一个水仙花数, 153=1*1*1+5*5*5+3*3*3;
*/
{
int a,b,c;
for(a=0;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
{
//下面这个判断是实现的主要算法
if(a*a*a + b*b*b + c*c*c == 100*a + 10*b + c)
{ /// www.jb200.com
printf("结果为:%d", 100*a + 10*b + c);
}
}
}
}
}
例2,一个php求水仙花数的例子。
复制代码 代码示例:
<?php
$a = array();
for ($i=0;$i<=9;$i++)
{
for ($j=0;$j<=9;$j++)
{
for ($m=0;$m<=9;$m++)
{
if ($i*$i*$i + $j*$j*$j + $m*$m*$m == 100*$i + 10*$j +$m)
{
$a[] = 100*$i + 10*$j +$m;
}
}
}
}
print_r($a);