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 相关文章推荐
QQ空间顶部折页撕开效果示例代码
Jun 15 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
Jun 24 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
浅谈javascript中的三种弹窗
Oct 21 Javascript
浅析vue数据绑定
Jan 17 Javascript
Ajax跨域实现代码(后台jsp)
Jan 21 Javascript
Bootstrap table简单使用总结
Feb 15 Javascript
基于hover的用法实例(推荐)
Jul 04 Javascript
vue iview实现动态路由和权限验证功能
Apr 17 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
May 04 Javascript
JavaScript继承与多继承实例分析
May 26 Javascript
从零开始实现Vue简单的Toast插件
Dec 03 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
curl和libcurl的区别简介
2015/07/01 PHP
php图像处理类实例
2015/07/28 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
2020/07/10 PHP
基于JQuery的多标签实现代码
2012/09/19 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
Python中str.format()详解
2017/03/12 Python
Python实现获取命令行输出结果的方法
2017/06/10 Python
python正则实现计算器功能
2017/12/14 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
Python astype(np.float)函数使用方法解析
2020/06/08 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
新浪微博实习心得体会
2014/01/27 职场文书
公司门卫管理制度
2014/02/01 职场文书
个人培训自我鉴定
2014/03/28 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
建设工地安全标语
2014/06/07 职场文书
毕业生应聘求职信
2014/07/10 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
房产遗嘱范本
2015/08/06 职场文书
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs