zoukankan      html  css  js  c++  java
  • C语言经典算法100例-013-求水仙花数

    题目如下:

    打印出所有的水仙花数。

    所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 
    本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 

    1.分析,判断水仙花数关键在于把该数的各个位求出来,然后算出立方和与自己比较。

    2.程序如下:注意求各个位立方和的技巧。

    #include <stdio.h>
    #include <stdlib.h>
    //找出所有的水仙花数
    int main()
    {
        int i,f,m,n;
        for(n=100;n<1000;n++)
        {
            m=n;
            f=0;
            while(m!=0) //求各位数立方和
            {
                i=m%10;
                f+=i*i*i;
                m/=10;
            }
            if(f==n) printf("%-4d
    ",n);
        }
        return 0;
    }

    这里必须要多用一个变量M来暂存N的值,如果直接用N,那么求立方和的过程中会改变N的值,从而导致错误的结果。
  • 相关阅读:
    积性函数前缀和
    CF1067D Computer Game
    Atcoder Tenka1 Programmer Contest 2019 题解
    Codeforces Round #549 (Div. 1) 题解
    SHOI2019旅游记
    CF871D Paths
    CF1065E Side Transmutations
    停更公告
    博客说明
    SCOI2019酱油记
  • 原文地址:https://www.cnblogs.com/mrbourne/p/9959511.html
Copyright © 2011-2022 走看看