求n位水仙花数
求n位水仙花数
A.两个关键
1.n位水仙花数的范围是什么?
n位水仙花数的范围是[10n-1,10n)
2.如何判断是否为水仙花数
核心操作:
2-1.如何得到每一位?
A.核心思想
对得到的数进行先取余后取整的循环操作。
B.具体操作
用一变量g来得到将要判断的值,用变量h来依次存放每一位,g取余后把值赋给变量h,然后g再进行除10运算,如此循环往复,直到h依次得到每一位为止。
2-2.如何将得到的每一位进行n次方?
A.核心思想
调用Math.pow()函数即可(注:Math.pow()函数的返回值是double类型的数据)
B.具体操作
设一个变量t来求和,把操作1的变量h应用Math.pow()函数并把其应用后的值加入到t中,然后循环往复,直到结束该循环。(注:因为水仙花数一般是定义成int类型,所以在赋值运算过程中要把Math.pow()函数得到的值进行强制类型转换)
B.易错点分析
1.Math.pow()函数的返回值是double类型,
a.在赋值运算中,若赋给非double类型的值时都必须执行强制类型转化操作(目的:转换成相同类型)。
b.在比较运算中,系统会自动执行自动类型转化操作(转换方向:级别更高的类型),此时无需执行强制类型转化操作。
2.用来求和的变量t在每次判断完(是否是水仙花数)之后都需要归零。
3.必须用一个新的变量(本题为g)来存放将要判断的值。
C.代码以及运行结果截图
代码截图

运行结果截图

D.所写程序的优缺点
优点:适用范围较广,可以根据用户的需要来进行键盘输入
缺点;运行所花时间有点长而且数据够大时运行不了(其程序运行时占的内存空间不小)
E.相关英语词汇积累
1.水仙花: daffodil; narcissistic;其别名: 自恋数、自幂数或阿姆斯壮数(Armstrong number).
2.数;number;
3.归零: return to zero。
4.核心思想:core thought.
5.位数: places
6.易错分析:Easy to fault analysis
7.[计] totalizer 加法计算器;
8.[计] accumulator 蓄电池;[计] 累加器;积聚者;
9.[计] assignment operation赋值运算
10.[计] comparison operation比较运算
求n位水仙花数的更多相关文章
- java实现求二十一位水仙花数(21位水仙花数)
一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数. 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水 ...
- C#学习笔记(29)——Linq的实现,Lambda求偶数和水仙花数
说明(2017-11-22 18:15:48): 1. Lambda表达式里面用了匿名委托,感觉理解起来还是挺难的.求偶数的例子模拟了Linq查询里的一个where方法. 2. 蒋坤说求水仙花数那个例 ...
- Problem03 水仙花数
题目:打印出所有的"水仙花数"."水仙花数"是指一个三位数,其各位数字立方和等于该数本身. 例如:153是一个"水仙花数",因为153=1的 ...
- 打印出三位数的水仙花数Python
水仙花数计算 ...
- python 打印出水仙花数
打印出三位水仙花数方法及解释 num = 100while num <= 999: #这里num 小于等于999 则运行 填1000也可以 a = num % 10 #num对10取余 b = ...
- Python输出水仙花数,用逗号分隔
描述 "水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身. ...
- php 求水仙花数优化
水仙花数是指一个n位数(n>=3),它每一个位上数字的n次幂之和等于它本身,n为它的位数.(比如:1^3+5^3+3^3 = 153) 水仙花数又称阿姆斯特朗数. 三位的水仙花数有4个:153, ...
- acm水题3个:1.求最大公约数;2.水仙花数;3.判断完数
//7.求两个整数的最大公约数#include<stdio.h>//用穷举法求出最大公约数int gcd1(int m,int n){ int min = m > n ? n : m ...
- 二、求水仙花数,打印出100-999之间所有的"水仙花数"
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方 public c ...
随机推荐
- Machine Learning No.8: Clusting
1. K-means algorithm 2. K-means optimization objective 3. Random initialization
- Automator 实例:使用快捷键 实现 快速在当前路径 打开 iTerm
1. 在 finder -> 应用程序 或 通过 Spotlight 打开:Automator.app 2. 选择新建 “服务” 3. 设置服务,见下图,设置完成之后,command + s 保 ...
- 0CTF 2017 部分Web的某些不一样的思路
洒家参加了0CTF 2017,做了一些题目.赛后过了好几天,看网上已经有了一些写得不错的Writeup,这里就写一写洒家的一些不一样的思路. 一些不错的Writeup https://ctftime. ...
- Dictionary and KeyValuePair关系
简单一句话: Dictionary 是 由 KeyValuePair结构 组成的集合 The Dictionary<TKey, TValue>.Enumerator.Current pro ...
- inteliji ---idea 如何创建scala程序配置
首先创建一个新的工程: #####################################################################################
- dataguard类型转换与模式转化
修改数据保护模式步骤 前提:是否满足转换模式的配置要求 最大保护(Maximum Protection):Standby Database 必须配置Standby Redo Log,Primary D ...
- BZOJ3932:[CQOI2015]任务查询系统
浅谈主席树:https://www.cnblogs.com/AKMer/p/9956734.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem.p ...
- 模拟select选择器
<form method="post"> <div class="selectly" id="s1"> Select ...
- Elasticsearch的前后台运行与停止(rpm包方式)
对应,这es的下载,需要rpm包. Elasticsearch-2.4.3的下载(图文详解) 建议用root用户 [root@djt002 elasticsearch-2.4.3]$ pwd/usr/ ...
- java 放射机制简介
放射,说白了就是通过名字加载相应的类,以及类的方法和属性,是为了解决开发中不知道别人会写什么类而采取的一种顺利开发的东东. package com.io; //学生业务类 不知道别人写的 这个是别人写 ...