js水仙花数,闰年,最大公约数
Posted ys199610
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js水仙花数,闰年,最大公约数相关的知识,希望对你有一定的参考价值。
1.水仙花数题目:
打印1000以内所有水仙花数1*
水仙花数是指一个三位数,各位数的立方和等于这个数本身,例如153 = 1*1*1+5*5*5+3*3*3
思路:1.首先要确定这是一个循环,次数是确定的,选择for循环,每一次都需要判断,for循环里面要嵌套一个if判断
2.要用三个变量存储,百位,十位,个位(这个题的重点就是获取这三位数)
百位 :391 /100 = 3.91;这里需要一个处理,把小数后面的全部舍去,我用js写的,parseInt(储存百位的变量)这个方法就可以换取整数,小数全部舍去;
如果是java,可以直接把变量定义为int类型,就不需要考虑小数这个问题了,它直接就会取整数部分;
十位:391%100 = 91; 91/10 = 9; ==> 391%100/10 = 9.1;处理小数问题同上;
个位:391%10 = 1;
代码如下:
运行结果:
2.如何计算一个年份是闰年还是平年
这个问题很简单的,只需要明确如何计算闰年就可以了
1.年份能被4整数且不能被100整数;
2.年份能被400整除;
js代码如下
运行结果:
这个问题应该是随机输入一个年份,然后判断是否为闰年,
如果是C语言,就把变量 a 换成一个输入(scanf)的值,然后赋值给a
如果是java ,输入用Scanner输入就可以了,输入是最基础的,我就不献丑了;
3.最大公约数的求法
求(a,b)两个最大公约数
例如,求(319,377):
∵ 319÷377=0(余319)
∴(319,377)=(377,319);
∵ 377÷319=1(余58)
∴(377,319)=(319,58);
∵ 319÷58=5(余29),
∴ (319,58)=(58,29);
∵ 58÷29=2(余0),
∴ (58,29)= 29;
∴ (319,377)=29.
也就是说,求两个数的最大公约数时,先用较大数除以较小数,
如果能整除,最大公约数就等于较小数;否则用较小数除以第一步的余数,
如果能整除,最大公约数就等于第一步的余数;
否则,用当前获得的余数除以上一步的余数,直到能整除为止。
此时作为除数的那个数就是最开始那两个数的最大公约数。
代码如下:
最主要是while循环要好好理解一下,这是难点,自己可以在纸上写写
运行结果
以上是关于js水仙花数,闰年,最大公约数的主要内容,如果未能解决你的问题,请参考以下文章
JS基础练习:奇偶数质数闰年水仙花数完美数累加累乘多位数拆分等
acm水题3个:1.求最大公约数;2.水仙花数;3.判断完数