求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 ...
随机推荐
- AnkhSVN
安装和配置 签入签出问题 1.安装和配置 ①安装.(貌似默认的安装到C:\Program Files\AnkhSVN 2下,开始菜单也没快捷?) ②源代码管理器设置:打开vs2012,工具→选项→源代 ...
- uboot 2013.01 s3c6400编译失败
通常我们对s3c6410平台开发u-boot是在s3c6400的基础上修改而成的,但是从uboot 2013.01这个版本之后的版本都把smdk6400对应的配置给删除了. 这是因为该版本smdk64 ...
- Dubbo之生产者
环境步骤: 安装Zookeepr启动 创建Maven项目搭建生产者和消费者 安装DubboAdmin平台,实现监控 Dubbo注册中心采用的是Zookeeper.为什么采用Zookeeper呢? Zo ...
- Mac OS 配置Maven
步骤: 1. 下载Maven tar包 https://maven.apache.org/download.cgi?Preferred=http%3A%2F%2Fmirrors.tuna.tsingh ...
- Android SDK离线安装方法详解(加速安装)
AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-wi ...
- Redis高可用部署及监控
Redis高可用部署及监控 目录 一.Redis Sentinel简介 二.硬件需求 三.拓扑结构 .单M-S结构 .双M-S结构 .优劣对比 四.配置部 ...
- linux命令学习笔记(34):du 命令
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看, 还是和df命令有一些区别的. .命令格式: du [选项][文件] .命令功能: ...
- android自定义控件(二) 入门,继承View
转载请注明地址:http://blog.csdn.net/ethan_xue/article/details/7313788 ps: 可根据apidemo里LableView,list4,list6学 ...
- 如何在Mac下显示Finder中的所有文件
在Unix下工作,你可能需要处理一些“特殊“文件或文件夹,例如/usr,/bin, etcf,或一些"dot files"(如.bash_profile).但是Linux/Unix ...
- appium 特殊操作
一.触摸操作 1.driver.tap([坐标],持续点击时间) 除了定位到元素的点击外,也可以通过tab实现坐标的点击 driver.tap(driver.tap([(216,1776)], ...