c-水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身

问题描述

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
输出10000以内的水仙花数

解决方案

http://zhidao.baidu.com/question/402541959.html

其中1000修改为10000即可

解决方案二:

 #include <stdio.h>
void fun(int n)
{
    if(n<100 || n>1000) return;
    int a,b,c;
    c=n%10;
    b=n/10%10;
    a=n/100%10;
    if(a*a*a+b*b*b+c*c*c == n) printf("%d
",n);
    fun(n+1);
}
void main()
{
    fun(10000);
}

解决方案三:

 #include<stdio.h>
  int three(int x);
  int main()
  {
  int i,j,k,p,n,h,t;
  for (i=0;i<10;i++)
    {
    for (j=0;j<10;j++)
     for (k=0;k<10;k++)
      for (p=1;p<10000;p++)
    if (three(i)+three(j)+three(k)==p)
           {
        h=p/100;
        t=p/10-h*10;
        n=p-h*100-t*10;
           if (h==i&&t==j&&n==k&h!=0&&t!=0&&n!=0)
            {
           printf("%d^3+%d^3+%d^3=%d
",i,j,k,p);}
        }
      }
     return 0;
     }

    int three(int x)
    {
    int y;
    y=x*x*x;
    return y;
    }

解决方案四:

100~999 a^3+b^3+c^3 ==100a+10b+c
1000~9999 a^4+b^4+c^4+d^4 ==1000a+100b+10c+d
10000 a^5+b^5+c^5+d^5+e^5 ==10000a+1000b+100c+10d+c

解决方案五:

将一个n位数分解为各个位数的数字。

时间: 2024-12-21 07:38:39

c-水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身的相关文章

php中如何求水仙花数优化

水仙花数是指一个n位数(n>=3),它每个位上数字的n次幂之和等于它本身,n为它的位数.(例如:1^3+5^3+3^3 = 153) 水仙花数又称阿姆斯特朗数. 三位的水仙花数有4个:153,370,371,407 四位的水仙花数有3个:1634,8208,9474 五位的水仙花数有3个:54748,92727,93084 六位的水仙花数有1个:548834 七位的水仙花数有4个:1741725,4210818,9800817,9926315 八位的水仙花数有3个:24678050,246780

php实现水仙花数的4个示例分享

 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 3^3+ 5^3 = 153)这篇文章主要介绍了php实现水仙花数的4个示例分享,需要的朋友可以参考下 示例1:    代码如下: <?php for($q=1;$q<=9;$q++){     for($w=0;$w<=9;$w++){       for($e=0;$e<=9;$e++){         if($q*$q*$q + $w*$w*$w + $e*$e*

语言 水仙花数算法-水仙花数代码如何减短运行时间

问题描述 水仙花数代码如何减短运行时间 水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身.例 如:153 = 13 + 53+ 33. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给出一个正整数N(3<=N<=7). 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行. 输入样例:3 输出样例:153 370 371 407 我的代码运行起来超时;我知道可能是n=7时循环次数太多造成的.有什么办法解决呢 include inc

[华为机试练习题]60.水仙花数

题目 描述: 水仙花数又称阿姆斯特朗数. 水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) 求输入的数字是否为水仙花数 练习阶段: 初级 代码 /*--------------------------------------- * 日期:2015-07-05 * 作者:SJF0115 * 题目:水仙花数 * 来源:华为机试练习题 ----------------------------------------

c-写一函数判断某数是否“水仙花数”,

问题描述 写一函数判断某数是否"水仙花数", 写一函数判断某数是否"水仙花数",所谓"水仙花数"是指一个三位数, 其各位数字 立方和等于该数本身.例如 153是一个水仙花数,因为 153=1533 3 3 解决方案 http://wenku.baidu.com/link?url=5U-MdDcdnw6LxruVpPrTODVmopxg6tb8u1UqiYG0bmOOVzJiKGtJkx26nWia0-659oAoY6a0GMAVOl7Rdb3DK

java计算自幂数和水仙花数_java

(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数)n为1时,自幂数称为独身数.n为2时,没有自幂数.n为3时,自幂数称为水仙花数.n为4时,自幂数称为玫瑰花数.n为5时,自幂数称为五角星数.n为6时,自幂数称为六合数.n为7时,自幂数称为北斗七星数.n为8时,自幂数称为八仙数.n为9时,自幂数称为九九重阳数.n为10时,自幂数称为十全十美数. 复制代码 代码如下: /* * 自幂数 * 自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等

php实现水仙花数示例分享

 这篇文章主要介绍了php实现水仙花数示例,需要的朋友可以参考下 自幂数,又称阿姆斯特朗数,民间通称水仙花数.实则只有3位自幂数才是水仙花数.4位5位6位等等各有别的叫法. 代码如下: <?php //阿姆斯特朗数:一个k位数,它的每个位上的数字的k次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) class Armstrong {    static function index(){   for ( $i = 100; $i < 100000; $i++ ) {  

php实现水仙花数的4个示例分享_php实例

示例1: 复制代码 代码如下: <?phpfor($q=1;$q<=9;$q++){    for($w=0;$w<=9;$w++){      for($e=0;$e<=9;$e++){        if($q*$q*$q + $w*$w*$w + $e*$e*$e ==         100*$q + 10*$w + $e){           echo "$q $w $e "."<p>";        }     

水仙花数的vfp实现

水仙花数的实现是一个比较经典的算法题,今天我们首先在vfp中来实现它. 首先我们了解一下什么是"水仙花数".所谓水仙花数是指一个n位数,其各位数字立方和等于该数本身的值,例如:153=13+53+33 ,所以153是一个水仙花数. 我们来做一个简单点儿的:求解3位数的水仙花数,即100至999之间的水仙花数.很明显这个程序需要使用循环,并且从水仙花数的概念可知,其重点是求解出循环变量当前值的各位数字的值.剩下的工作就简单了,把求解出的各位数字的立方和与循环变量当前值进行比较,如果相等则