永发信息网

怎么用整数分拆的方法计算出1到10000中,有多少个刚刚有一个1,一个2,一个3的整数?

答案:1  悬赏:30  手机版
解决时间 2021-11-28 17:56
  • 提问者网友:记得曾经
  • 2021-11-28 10:41
怎么用整数分拆的方法计算出1到10000中,有多少个刚刚有一个1,一个2,一个3的整数?
最佳答案
  • 五星知识达人网友:雾月
  • 2021-11-28 11:38
首先,在1到10000中,符合条件的最小数为123,最大数为9321,所以只需要在这个范围内查找即可。
其次,是要分拆每个数的位数,按照数学的算法,取得一个数的个位,只需把这个数与10进行求模(即取余数)运算,获得的余数就是个位数;取得十位数,则先把这个数与10进行整除运算,再与10进行求模运算,得到的就是十位数;取得百位数,则先把这个数与100进行整除运算,再与10进行求模运算,得到的就是百位数;依此类推即可获得千位数。
然后,再用三个变量分别统计各位数中1、2、3出现的次数,如果三个变量的值都是1就是符合题意的数了。
下面是js代码,但采用的并不是上述的数学算法,而是数组分割法:
var x=[...Array(9999)].map((o,i)=>i+1);
console.log(x.filter((o,i)=>{
var a=new Array(10).fill(0);
[...o+''].forEach(o=>a[o]++);
return a[1]==1&&a[2]==1&&a[3]==1;
}));
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯