zoukankan      html  css  js  c++  java
  • 三位水仙花数

     1 #include <stdio.h>
     2 #include <math.h>
     3 
     4 
     5 int main()
     6 {
     7     /*三位水仙花数
     8        概念:若三位数ABC满足ABC=A^3+B^3+C^3,则称为三位水仙花数。例如153=1^3+5^3+3^3,所以 153是水仙花数
     9 
    10        实现步骤:
    11             1. 输入两个数,表示区间[a,b],由于求解的是三位的水仙花数,所以a>=100,b<=999,且b>a
    12             2. 实现算法,设数num,分解百位,十位,个位,然后各三次方相加,看是否和等于数num
    13             3. 输出水仙花数
    14 
    15        这里需要引入一个方法pow(int x,int y) 要包含math.h头文件
    16        实例:
    17         double x=2.0,y=3.0;
    18         printf("%lf的%lf次方是:%lf
    ",x,y,pow(x,y));
    19         打印出:2.000000的3.000000次方是:8.000000
    20     */
    21     
    22     //1 声明百位 十位 个位
    23     int bai,shi,ge;
    24     int num;
    25 
    26     //2 实现算法
    27     for(num=100;num<=999;num++)
    28     {
    29         //2.1 百位、十位、个位分解
    30         bai = num/100;
    31         shi = num/10%10;
    32         ge  = num%10;
    33         //2.2 判断算法
    34         if(num == pow(bai,3)+pow(shi,3)+pow(ge,3))
    35         {
    36             printf("%d
    ",num);
    37         }
    38     }
    39 
    40     return 0;
    41 }

    打印结果:

    补充水仙花数的概念:

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

  • 相关阅读:
    POJ 3635 Full Tank?
    ZOJ 2112 Dynamic Rankings
    POJ 3468 A Simple Problem with Integers (2)
    FJOI2007 轮状病毒
    HDU 3308 LCIS
    POJ 2449 Remmarguts' Date
    Adroid平台图表案例源码
    Android项目——实现时间线程源码
    关于Ubuntu上Eclipse不显示手机设备
    自定义ListView下拉弹起效果
  • 原文地址:https://www.cnblogs.com/wykLog/p/5467441.html
Copyright © 2011-2022 走看看