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 相关文章推荐
破除网页鼠标右键被禁用的绝招大全
Dec 27 Javascript
网页中的图片的处理方法与代码
Nov 26 Javascript
JavaScript 设计模式之组合模式解析
Apr 09 Javascript
jsonp原理及使用
Oct 28 Javascript
jQuery中获取checkbox选中项等操作及注意事项
Nov 24 Javascript
js限制input标签中只能输入中文
Jun 26 Javascript
js实现对table的增加行和删除行的操作方法
Oct 13 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
Nov 11 Javascript
Canvas 绘制粒子动画背景
Feb 15 Javascript
js实现从左向右滑动式轮播图效果
Jul 07 Javascript
iphone刘海屏页面适配方法
May 07 Javascript
JS实现简单移动端鼠标拖拽
Jul 23 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
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
python下如何让web元素的生成更简单的分析
2008/07/17 Python
深入了解Python数据类型之列表
2016/06/24 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
python 字典操作提取key,value的方法
2019/06/26 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
竞选班干部的演讲稿
2014/04/24 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
实习推荐信格式模板
2015/03/27 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技
python中的getter与setter你了解吗
2022/03/24 Python
Python基本知识点总结
2022/04/07 Python