码迷,mamicode.com
首页 > Web开发 > 详细

js水仙花数,闰年,最大公约数

时间:2019-08-20 20:22:30      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:赋值   基础   就是   问题   思路   scanf   计算   水仙花数   小数   

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水仙花数,闰年,最大公约数

标签:赋值   基础   就是   问题   思路   scanf   计算   水仙花数   小数   

原文地址:https://www.cnblogs.com/ys199610/p/11385211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!