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 三种编解码方式
Feb 01 Javascript
仅30行代码实现Javascript中的MVC
Feb 15 Javascript
jquery实现简单的banner轮播效果【实例】
Mar 30 Javascript
JS如何设置iOS中微信浏览器的title
Nov 22 Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
Dec 13 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
Mar 13 Javascript
分享5个顶级的JavaScript Ajax组件库
Sep 16 Javascript
es6 symbol的实现方法示例
Apr 02 Javascript
Vue动态创建注册component的实例代码
Jun 14 Javascript
vue实现评论列表功能
Oct 25 Javascript
Vue 使用typescript如何优雅的调用swagger API
Sep 01 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
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
jquery click([data],fn)使用方法实例介绍
2013/07/08 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
js的[defer]和[async]属性
2014/11/24 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
2015/09/26 Javascript
jQuery事件委托之Safari
2016/07/05 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
js 颜色选择插件
2017/01/23 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
Python队列的定义与使用方法示例
2017/06/24 Python
python中join()方法介绍
2018/10/11 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
俄罗斯Sportmarket体育在线商店:用于旅游和户外活动
2019/11/12 全球购物
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
EJB的基本架构
2016/09/22 面试题
后勤主管工作职责
2013/12/07 职场文书
大学军训自我鉴定
2013/12/15 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
环保建议书300字
2014/05/14 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
谢师宴学生致辞
2015/07/27 职场文书
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL