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 实用的文字链提示框效果
Jun 30 Javascript
Javascript实现重力弹跳拖拽运动效果示例
Jun 28 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
Sep 07 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
Dec 07 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
Aug 31 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
Sep 09 Javascript
bootstrap日历插件datetimepicker使用方法
Dec 14 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
Apr 19 Javascript
Javascript刷新页面的实例
Sep 23 Javascript
通过javascript实现段落的收缩与展开
Jun 26 Javascript
jQuery Raty星级评分插件使用方法实例分析
Nov 25 jQuery
tracking.js实现前端人脸识别功能
Apr 16 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获取后台Job管理的实现代码
2011/06/10 PHP
php中socket通信机制实例详解
2015/01/03 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
vue+swiper实现侧滑菜单效果
2017/12/28 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
2018/12/03 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
2020/11/18 Vue.js
Python脚本实现虾米网签到功能
2016/04/12 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
python关闭占用端口方式
2019/12/17 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
中英文自我评价常用句型
2013/12/19 职场文书
文明学生标兵事迹
2014/01/21 职场文书
幼儿教师工作感言
2014/02/14 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
保洁员岗位职责
2015/02/04 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
终止合同协议书范本
2016/03/22 职场文书
mysql sock文件存储了什么信息
2022/07/15 MySQL