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 处理事件绑定的一些兼容写法
Dec 24 Javascript
JavaScript 学习笔记(七)字符串的连接
Dec 31 Javascript
jQuery实现个性翻牌效果导航菜单的方法
Mar 09 Javascript
JavaScript用select实现日期控件
Jul 17 Javascript
最简单的JavaScript图片轮播代码(两种方法)
Dec 18 Javascript
Node.js读写文件之批量替换图片的实现方法
Sep 07 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
Jul 10 Javascript
浅谈angular2 组件的生命周期钩子
Aug 12 Javascript
提升页面加载速度的插件InstantClick
Sep 12 Javascript
Vue-cli中为单独页面设置背景色的实现方法
Feb 11 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
Sep 20 Javascript
微信小程序如何播放腾讯视频的实现
Sep 20 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输出Excel文件类
2010/02/08 PHP
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
实现PHP搜索加分页
2016/10/12 PHP
使用js简单实现了tree树菜单
2013/11/20 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
javascript实现评分功能
2020/06/24 Javascript
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
[48:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 VG vs KG
2018/03/31 DOTA
Python的subprocess模块总结
2014/11/07 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
Django web框架使用url path name详解
2019/04/29 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
浅析python中while循环和for循环
2019/11/19 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
SQL Server面试题
2013/04/04 面试题
跟单文员岗位职责
2014/01/03 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
小学教育见习报告
2014/10/31 职场文书
元旦联欢晚会主持词
2015/07/01 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
MySQL分库分表详情
2021/09/25 MySQL
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫