jQuery寻找n以内完全数的方法

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • 用Jquery选择器计算table中的某一列某一行的合计

    利用Jquery选择器,计算table中的某一列,某一行的合计,非常方便.下面以计算行合计为例: 核心算法: $('#tableId tr').each(function() { $(this).find('td:eq(columnIndex)').each(function() { totalAmount += parseFloat($(this).text()); }) }); 下面是案例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 T

  • js数值计算时使用parseInt进行数据类型转换(jquery)

    js获取到的数据默认都是string字符串类型的,如果进行数值的运算必须使用parseInt进行转换成数值的操作. html代码: 复制代码 代码如下: <div id="archive">     <input type="hidden" name="page" value="1" /> </div> js代码: 复制代码 代码如下: $("#archive").bin

  • jQuery 计算iframe 窗口大小的方法

    复制代码 代码如下: <iframe id="aaax" src="" scrolling="no" frameborder="0" style="display:none"></iframe> <script language="javascript" type="text/javascript"> $(function () {

  • 基于jQuery的计算文本框字数的代码

    一.功能: 1.用户边输入计算同时进行,告诉用户还剩余多少可输入的字数; 2.当超过规定的字数后,点击确定,会让输入框闪动 二.功能分析 1.重点是用什么事件? 标准浏览器用oninput,而IE则使用onpropertychange ,这两个事件的发生条件,是文本框的值发生改变. 2.字数的计算. 2.1一个中文算两个,一个符号或数字,英文,算一个.(如果是规定140个字,乘以2,那么就是280个) 2.2需要用到Math.ceil方法,因为最后还是要除以2来还原显示给用户的字数; 3.闪动背

  • jquery实现点击页面计算点击次数

    代码很简单,这里就不多废话了,直接奉上: 复制代码 代码如下: $(function(){       var w=0,tip=$("<b>");       tip.css({    "z-index":99999,position:"absolute",color:"red",display:"none"               }),       $("body")

  • 一个简单的jQuery计算器实现了连续计算功能

    一个简单的jQuery计算器,只是实现了一个连续计算的功能 <!DOCTYPE html> <html> <head> <meta charset="utf8"/> <title>Javascript计算器</title> </head> <body> <table> <tr> <td colspan="4"><input id=

  • Jquery AJAX 用于计算点击率(统计)

    复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> Demo </TITLE> </HEAD> <BODY> <script src="jquery.js" type="text/javascript"></

  • jQuery计算textarea中文字数(剩余个数)的小程序

    复制代码 代码如下: <div class="area">        <p>            还可以输入<b class="num">140</b>字</p>        <textarea class="chackTextarea"></textarea>    </div> <script type="text/java

  • jQuery寻找n以内完全数的方法

    本文实例讲述了jQuery寻找n以内完全数的方法.分享给大家供大家参考.具体分析如下: 数的完满取决于它的因数(能整除原数的那些数). 例如:12的因数是1,2,3,4和6.当一个数的各因数之和大于该数本身时,该数称为"盈"数.于是12是一个盈数,因为它的因数加起来等于16.另一方面,当一个数的因数之和小于该数本身时,该数称为"亏"数.所以10是一个亏数,因为它的因数(1,2和5)加起来只等于8. 最有意义和最少见的数是那些其因数之和恰好等于其本身的数,这些数就是完

  • jQuery 添加样式属性的优先级别方法(推荐)

    jQuery类中添加多个属性 $('#five .a') .css({ color:'blue', border:'2px solid green', background:'blue' }); jQuer为元素添加类 $('#five .a') .addClass('funny'); HTML code <style> .funny{ font-size: 21px; background-color: gray ; padding: 10px; color: yellow ; } <

  • 认识jQuery的Promise的具体使用方法

    先前了解了ES6的Promise对象,来看看jQuery中的Promise,也就是jQuery的Deferred对象. 打开浏览器的控制台先. <script> var defer = $.Deferred(); console.log(defer); </script> 运行结果: 和ES6的Promise对象长的有点像,jQuery的Deferred对象也有resolve.reject.then方法,还有done.fail.always......方法.jQuery就是用这个D

  • jQuery网页定位导航特效实现方法

    本文实例讲述了jQuery网页定位导航特效实现方法.分享给大家供大家参考,具体如下: 描述:左右联动的导航,非常适合展示页面内容多,区块划分又很明显的,点击右边固定导航项时,左边的内容跟着切换.滑动滚动条的时候,右边的导航也随着左边的展示而进行高亮切换. 思路:比较滚动距离和楼层距离(相对于顶部),如果滚动距离大于等于楼层距离,即进入了相应楼层,然后通过一个变量来记录该楼层的信息,最后传递给右边高亮显示 1.点击右边固定导航项时,左边的内容跟着切换. 只需将右边a的href设置为左边区块的id加

  • jquery简单图片切换显示效果实现方法

    本文实例讲述了jquery简单图片切换显示效果实现方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>jquery图片切换效果</title> <script type="text/javascr

  • 使用jQuery和ajax代替iframe的方法(详解)

    iframe虽然好用,但是其弊端也很明显,一是它不能使用于响应式布局,iframe的使用必须指定高度,而响应式布局的高度兵分固定的.其次iframe不易被搜索引擎的爬虫解读,特别是iframe中嵌套iframe,这是会被搜索引擎认为是个死网站而被放过. 目前主流的应用都使用了ajax代替了iframe. html: <ul class="nav navbar-nav" id="indexMenu"> <li><a target=&quo

  • jquery增加和删除元素的方法

    本文实例讲述了jquery增加和删除元素的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>jquery增加删除元素</title> <script type="text/javascript&

  • jQuery实现延迟跳转的方法

    本文实例讲述了jQuery实现延迟跳转的方法.分享给大家供大家参考.具体实现方法如下: function delayer(){ window.location = "http://www.jb51.net/"; } jQuery(document).ready(function(){ setTimeout('delayer()', 5000); //这里实现延迟5秒跳转 }); 希望本文所述对大家的jQuery程序设计有所帮助.

  • jQuery实现删除li节点的方法

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <html> <head> <meta charset="utf-8"> <title></title> <style> ul { list-style: none; } li { line-height: 25px; margin-top: 3px; } li:hover { background-color: #ddd; } li.hover { backg

  • jQuery动态星级评分效果实现方法

    本文实例讲述了jQuery动态星级评分效果实现方法.分享给大家供大家参考.具体如下: 这里的jQuery星级评分代码,是大家都很喜欢的功能,目前广泛应用,本星级评分加入了动画效果,注意,如果要真正实现星级评分,你需要动态程序配合,如ASP/PHP等,以便将评分值存入数据库. 运行效果如下图所示: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or

随机推荐