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 相关文章推荐
激活 ActiveX 控件
Oct 09 Javascript
优化网页之快速的呈现我们的网页
Jun 29 Javascript
动态样式类封装JS代码
Sep 02 Javascript
jQuery仿Excel表格编辑功能的实现代码
May 01 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
Aug 23 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
Dec 07 Javascript
详解打造 Vue.js 可复用组件
Mar 24 Javascript
JavaScript中变量、指针和引用功能与操作示例
Aug 04 Javascript
JS使用Date对象实时显示当前系统时间简单示例
Aug 23 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
Apr 08 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
Nov 26 Javascript
uni-app如何实现增量更新功能
Jan 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
简单的页面缓冲技术
2006/10/09 PHP
php 代码优化的42条建议 推荐
2009/09/25 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
jQuery+ajax实现动态执行脚本的方法
2015/01/27 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
如何抽象一个Vue公共组件
2017/10/17 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
node.js之基础加密算法模块crypto详解
2018/09/11 Javascript
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
Python实现的简单万年历例子分享
2014/04/25 Python
python开发中range()函数用法实例分析
2015/11/12 Python
python3操作mysql数据库的方法
2017/06/23 Python
Python基础之getpass模块详细介绍
2017/08/10 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
python pandas 时间日期的处理实现
2019/07/30 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
大学校园毕业自我鉴定
2014/01/15 职场文书
军训结束新闻稿
2015/07/17 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript
centos8安装MongoDB的详细过程
2021/10/24 MongoDB
python3 字符串str和bytes相互转换
2022/03/23 Python