zoukankan      html  css  js  c++  java
  • 水仙花数判断讲解

    今天要讲解的这道题是 水仙花数判断

    题目要求

    本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0.

    函数接口定义:

    int func(const int N);
    

    其中N是用户传入的参数。N的值不超过int类型的范围。如果参数N是水仙花数,则返回1,否则返回0。

    裁判测试程序样例:

    #include <stdio.h>
    int func(const int N);
    int main()
    {
     int N;
     scanf("%d", &N);
     printf("%d
    ", func(N));
    return 0;
    }
    
    /* 请在这里填写答案 */
    

    输入样例:

    153
    

    输出样例:

    1
    

    解题思路

    • 根据题目要求,定义一个函数func()
    • 定义变量n,sum
    • 因为需要求一个三位数的整数各位的立方和,所以我们要分离每一位上的数,用到表达式sum+=(n%10) * (n%10) * (n%10),因为需要对每一位数求立方,所以此表达式需循环,并且我们要求到下一位,用到表达式n/=10,在求了立方和的基础上,我们要进行判断是否等于输入值

    题目代码

    涉及知识点

    1.给n赋值为N,因为n是形参,N是实参,输入值实际是N,我们要判断的也是输入值N

    2。while语句,这是一个新的循环语句,括号里面表示的是条件,我代码中写的是while(n),它也就相当于while(n!=0),这是一种简便写法,计算机也会自动去给我们判断,当条件判定为‘是’时,循环进行,否则跳出循环

    3.表达式sum+=(n%10) * (n%10) * (n%10)与n/=10,这里用的取余的方法求各位数立方的和,因为变量n,sum定义为整型,取结果时,计算机会自动给我们取整数,比如153%10还余3,sum表达式就会求3的立方,接着153/10=15.3,15.3再次取余时,结果为5,以此循环,求得立方和

    4.最后进行判断,并返回结果

  • 相关阅读:
    elasticsearch:shard 和 replica 机制
    zookeeper 的 docker 镜像使用
    zookeeper 图形化的客户端工具:ZooInspector
    zookeeper 学习资料
    Spring Cloud 与 Dubbo、Spring Cloud 与 Docker、Spring Cloud 与 Kubernetes 比较
    可视化界面:ElasticSearch Head,最方便的是直接下载谷歌浏览器扩展程序
    java 中 heap(堆)和stack(栈)的区别
    Elasticsearch 学习资料
    025_lua脚本语言
    004_zookeeper运维之maxClientCnxns overflow
  • 原文地址:https://www.cnblogs.com/whl666/p/11814139.html
Copyright © 2011-2022 走看看