Maison >développement back-end >tutoriel php >php求三位数水仙花数

php求三位数水仙花数

WBOY
WBOYoriginal
2016-07-25 09:12:564268parcourir

在c语言中,讲到算法,其中有个问题是求三位数的““水仙花数”,那么什么是“水仙花数”呢? 水仙花数是 是一个n(>=3)位数字的数, 它等于每个数字的n次幂之和. 例如, 153是一个水仙花数, 153=1*1*1+5*5*5+3*3*3;

例1,c语言求三位数的小仙花数。

  1. #include
  2. main()
  3. /*
  4. * 三位数的求法,用3个for循环就可以了;
  5. * 153是一个水仙花数, 153=1*1*1+5*5*5+3*3*3;
  6. */
  7. {
  8. int a,b,c;
  9. for(a=0;a {
  10. for(b=0;b {
  11. for(c=0;c {
  12. //下面这个判断是实现的主要算法
  13. if(a*a*a + b*b*b + c*c*c == 100*a + 10*b + c)
  14. { /// bbs.it-home.org
  15. printf("结果为:%d", 100*a + 10*b + c);
  16. }
  17. }
  18. }
  19. }
  20. }
复制代码

例2,一个php求水仙花数的例子。

  1. $a = array();
  2. for ($i=0;$i {
  3. for ($j=0;$j {
  4. for ($m=0;$m {
  5. if ($i*$i*$i + $j*$j*$j + $m*$m*$m == 100*$i + 10*$j +$m)
  6. {
  7. $a[] = 100*$i + 10*$j +$m;
  8. }
  9. }
  10. }
  11. }
  12. print_r($a);
复制代码


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn