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 相关文章推荐
js中一维数组和二位数组中的几个问题示例说明
Jul 17 Javascript
理解JS绑定事件
Jan 19 Javascript
举例说明JavaScript中的实例对象与原型对象
Mar 11 Javascript
AngularJS 入门教程之事件处理器详解
Aug 19 Javascript
vue的Virtual Dom实现snabbdom解密
May 03 Javascript
fullPage.js和CSS3实现全屏滚动效果
May 05 Javascript
vue实现表格数据的增删改查
Jul 10 Javascript
JS实现数组去重方法总结(六种方法)
Jul 14 Javascript
Angular5中调用第三方js插件的方法
Feb 26 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 Javascript
移动端(微信等使用vConsole调试console的方法
Mar 05 Javascript
vue项目中使用rem,在入口文件添加内容操作
Nov 11 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学习之运算符相关概念
2011/06/09 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
基于PHP实现用户登录注册功能的详细教程
2020/08/04 PHP
js中if语句的几种优化代码写法
2011/03/12 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
jQuery产品间断向下滚动效果核心代码
2014/05/08 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
理解JS绑定事件
2016/01/19 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
Python3使用SMTP发送带附件邮件
2020/06/16 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
个人充满哲理的自我评价
2014/02/20 职场文书
安全生产承诺书
2014/03/26 职场文书
小学生综合素质评语
2014/04/23 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python
python爬取豆瓣电影TOP250数据
2021/05/23 Python
ant design charts 获取后端接口数据展示
2022/05/25 Javascript