题目
输入一个由4位数字组成的整数,把它分解为单个数字,然后输出每一位数字。
自己做的代码如下(示例):
var num = 1234;
var a = num % 10;
var b = num / 10;
b = parseInt(b % 10);
var c = num / 100;
c = parseInt(c % 10);
var d = num / 1000;
d = parseInt(d % 10);
console.log( num + "的" + "个位数是" + a + ", 十位数是" + b + ", 百位数是" + c + ", 千位数是" + d);
//1234的个位数是4, 十位数是3, 百位数是2, 千位数是1
自己的思路:
1.该数对10求余可以得到最低位也就是个位的数字
1234 % 10 = 4
123 % 10 = 3
12 % 10 = 2
1 % 10 = 1
上述的数字分别得到了该数的个位数字
2.接下来需要解决的问题是如何将要分解出来的数字放在个位上
根据规律:某数除以10, 取整后可以得到最低位也就是个位以外的数字
1234 / 10 = 123.4
然后123.4对10求余后再取整就会得到小数点前的个位数了
老师给的代码如下(示例):
var num = 1234;
//求千位数
var num = 1234;
//求千位数, 除以1000取整
var a = parseInt(num / 1000);
//求百位数, num和一千取余后, 剩下的就是不能被1000整除的1000以下的数
var b = parseInt((num % 1000) / 100);
//求十位数, num和100取余后, 剩下的就是不能被100整除的100以下的数
var c = parseInt((num % 100) / 10);
//求个位数, num和10取余后, 剩下的就是不能被10整除的10以下的数
var d = parseInt(num % 10)
console.log( num + "的" + "千位数是" + a + ", 百位数是" + b + ", 十位数是" + c + ", 个位数是" + d);
//1234的千位数是1, 百位数是2, 十位数是3, 个位数是4
思路:
如果一个数能被1000整除的,必然能被100整除, 以此类推能被100整除的数必然能被10整除