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 相关文章推荐
自写的一个jQuery圆角插件
Oct 26 Javascript
两个listbox实现选项的添加删除和搜索
Mar 01 Javascript
用jquery生成二级菜单的实例代码
Jun 24 Javascript
简单谈谈javascript中this的隐式绑定
Feb 22 Javascript
Bootstrap模仿起筷首页效果
May 09 Javascript
AngularJS入门教程之静态模板详解
Aug 18 Javascript
原生js编写2048小游戏
Mar 17 Javascript
vue.js加载新的内容(实例代码)
Jun 01 Javascript
vue 里面使用axios 和封装的示例代码
Sep 01 Javascript
动态创建Angular组件实现popup弹窗功能
Sep 15 Javascript
Node.js assert断言原理与用法分析
Jan 04 Javascript
vue3为什么要用proxy替代defineProperty
Oct 19 Javascript
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
PHP的FTP学习(三)
2006/10/09 PHP
刷新PHP缓冲区为你的站点加速
2015/10/10 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
用JSON做数据传输格式中的一些问题总结
2011/12/21 Javascript
重写javascript中window.confirm的行为
2012/10/21 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
使用jQuery如何写一个含验证码的登录界面
2019/05/13 jQuery
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
python fabric使用笔记
2015/05/09 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
Python之字典对象的几种创建方法
2020/09/30 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
毕业生机械建模求职信
2013/10/14 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
监督检查工作方案
2014/05/28 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
出国留学英文自荐信
2015/03/25 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL