jQuery寻找n以内完全数的方法


Posted in Javascript onJune 24, 2015

本文实例讲述了jQuery寻找n以内完全数的方法。分享给大家供大家参考。具体分析如下:

数的完满取决于它的因数(能整除原数的那些数)。

例如:12的因数是1,2,3,4和6。当一个数的各因数之和大于该数本身时,该数称为“盈”数。于是12是一个盈数,因为它的因数加起来等于16。另一方面,当一个数的因数之和小于该数本身时,该数称为“亏”数。所以10是一个亏数,因为它的因数(1,2和5)加起来只等于8。

最有意义和最少见的数是那些其因数之和恰好等于其本身的数,这些数就是完满数。

-- 《费马大定理》

寻找完全数,首先就要计算数的因数,百度复习一下什么是因数。

因数:假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因数。 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。 反过来说,我们称n为m的倍数。

<!DOCTYPE html> 
<html> 
<head> 
 <meta charset="utf-8"> 
 <title>JS Bin</title> 
</head> 
<body> 
 <input type="text" id="num"/> 
 <button id="calc">计算</button> 
 <p id="result"></p> 
</body> 
</html>
/* 
 * 寻找n以内的完美数 
 */ 
function $(id){ 
 return document.getElementById(id); 
} 
//判断是否为正整数 
function isIntNum(number){ 
 var num = number; 
 if((!isNaN(num)) && (parseInt(num) == parseFloat(num))){ 
  return true; 
 }else{ 
  return false; 
 } 
} 
$("calc").addEventListener("click",function(){ 
 var inputNum = $("num").value, 
   $result = $("result"), 
   factorArr = [], 
   resultArr = [], 
   i = 0, 
   j = 0, 
   sum = 0; 
 //检验输入是否为正整数 
 if(isIntNum(inputNum)){ 
  console.log("right"); 
 }else{ 
  $result.innerHTML = "输入错误:请输入正整数"; 
  return false; 
 } 
 //遍历所有数字 
 for(var k = 1;k < inputNum;k++){ 
  //每次计算需重置变量 
  factorArr.length = 0; 
  sum = 0; 
  //寻找当前数字的因数 
  for(i = 1;i < Math.floor(k/2)+1; i++){ 
   if(k % i === 0){ 
    factorArr.push(i); 
   } 
  } 
  //计算因数之和 
  for(var m = 0;m < factorArr.length;m++){ 
   sum += factorArr[m]; 
  } 
  //因素和等于当前数,则符合完全数标准 
  if(sum === k){ 
   resultArr.push(k); 
  } 
 } 
 $result.innerHTML=resultArr; 
});

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
JavaScript Cookie 直接浏览网站分网址
Dec 08 Javascript
jquery 为a标签绑定click事件示例代码
Jun 23 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
js正则表达式匹配数字字母下划线等
Apr 14 Javascript
javascript如何定义对象数组
Jun 07 Javascript
将JSON字符串转换成Map对象的方法
Nov 30 Javascript
js控制按钮,防止频繁点击响应的实例
Feb 15 Javascript
Vue.js实战之利用vue-router实现跳转页面
Apr 01 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
Aug 20 Javascript
刷新页面后让控制台的js代码继续执行
Sep 20 Javascript
Node.js API详解之 querystring用法实例分析
Apr 29 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
js实现仿阿里巴巴城市选择框效果实例
Jun 24 #Javascript
Javascript常用小技巧汇总
Jun 24 #Javascript
js实现的倒计时按钮实例
Jun 24 #Javascript
js实现大转盘抽奖游戏实例
Jun 24 #Javascript
jQuery里filter()函数与find()函数用法分析
Jun 24 #Javascript
举例详解Python中smtplib模块处理电子邮件的使用
Jun 24 #Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
Jun 24 #Javascript
You might like
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
php实现的双向队列类实例
2014/09/24 PHP
小议javascript 设计模式 推荐
2009/10/28 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
2020/07/19 Javascript
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
利用python为运维人员写一个监控脚本
2018/03/25 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
python实现代码统计器
2019/09/19 Python
将python2.7添加进64位系统的注册表方式
2019/11/20 Python
linux环境下安装python虚拟环境及注意事项
2020/01/07 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
初入社会应届生求职信
2013/11/18 职场文书
QA工程师岗位职责
2013/11/20 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
创建无烟单位实施方案
2014/03/29 职场文书
小学运动会报道稿
2014/10/04 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
作弊检讨书范文
2015/05/06 职场文书
热血教师观后感
2015/06/10 职场文书
教师理论学习心得体会
2016/01/21 职场文书