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 相关文章推荐
神奇的代码 通杀各种网站-可随意修改复制页面内容
Jul 17 Javascript
表单元素事件 (Form Element Events)
Jul 17 Javascript
javascript与CSS复习(三)
Jun 29 Javascript
从js向Action传中文参数出现乱码问题的解决方法
Dec 29 Javascript
jQuery简单实现图片预加载
Apr 20 Javascript
jQuery监听浏览器窗口大小的变化实例
Feb 07 Javascript
Vue中使用vux的配置详解
May 05 Javascript
Vue.Draggable拖拽功能的配置使用方法
Jul 29 Javascript
微信小程序云开发之云函数详解
May 16 Javascript
微信小程序template模板与component组件的区别和使用详解
May 22 Javascript
解决node终端下运行js文件不支持ES6语法
Apr 04 Javascript
JS co 函数库的含义和用法实例总结
Apr 08 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实现paypal整合方法
2010/11/28 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
TensorFlow数据输入的方法示例
2018/06/19 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
元旦活动感言
2014/03/08 职场文书
《大海那边》教学反思
2014/04/09 职场文书
党课培训心得体会
2014/09/02 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
假释思想汇报范文
2014/10/11 职场文书
西岭雪山导游词
2015/02/06 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python