四叶玫瑰数

四叶玫瑰数是指四位数各位上的数字的四次方之和等于本身的数。

四位的四叶玫瑰数共有3个:1634,8208,9474;

// 求某个范围内值是否有四叶玫瑰数 一般是 1000~9999
function isFourLeafRose( min, max ){
  const start = new Date(); // 记录一下运行耗时
  const fourLeafRoseGroup = []; // 返回结果
  // 判断参数类型是否为 Number
  if( !Number(min)){
    throw new Error('参数 min 不是 Number 类型!')
  }
  if( !Number(max)){
    throw new Error('参数 max 不是 Number 类型!')
  }
  // 判断参数 Length 是否为 4 位数
  if( min.toString().length !==4 ){
    throw new Error('参数 min 不是 4 位数数值!')
  }
  if( max.toString().length !==4 ){
    throw new Error('参数 max 不是 4 位数数值!')
  }
  // Math.pow(x,y) 返回 x 的 y 次幂。   
  console.log('Start Time:', new Date() - start );
  for(let i=min; i<=max; i++ ){
    const fourLeafRoseArray = i.toString().split('');
    let powValue = 0;
    for(let j=0; j<4; j++){
      powValue += Math.pow(fourLeafRoseArray[j],4);
    }
    if(powValue===Number(i)){
      fourLeafRoseGroup.push(i)
    }
  }
  console.log('End Time:', new Date() - start );
  return fourLeafRoseGroup;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 结果如下:
    863cda997e42阅读 8,127评论 0 1
  • 每天习惯性把关注的简友点一遍赞,这两天发现简友们好像都懒惰了,竟然都没有新文章撰写。难道是集体罢工了?好奇怪! 闲...
    雪花_轻舞阅读 1,016评论 23 29
  • 小白营要结束了,加入小白营之后这两周,自己非常忙碌,早上七点有晨读,要想参与直播,七点之前就要醒来,上课讨论结束得...
    坚强的泡沫_b8f3阅读 142评论 0 1
  • 《传奇的诞生》是一部很让人震撼的电影,电影的开场就是世界杯现场, 后来镜头切换到七年前:几个贫民区巴西的小孩子在踢...
    阳光姐姐c阅读 2,687评论 0 1