方法一:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var num = prompt("请输入你所要分解因数的正整数:", "1")
if(isNaN(num) == true){
num = prompt("请输入你所要分解因数的正整数:", "1")
}
if(num <= 0){
num = prompt("请输入你所要分解因数的正整数:", "1")
}
num = parseInt(num);
var numP = num;
var arrFactor = [];
var l = 0;
var arrPrem = [];
var k = 0;
for(var i = 2; i < num; i ++){
var isPrem = true;
for(var j = 2; j < i; j ++){
if(i % j == 0){
isPrem = false;
}
}
if(isPrem == true){
arrPrem[k] = i;
k ++;
}
}
for(var i = 0; i < arrPrem.length;){
if(num % arrPrem[i] == 0){
num = num / arrPrem[i];
arrFactor[l] = arrPrem[i];
l ++;
i = 0;
}else{
i ++;
}
}
document.write("正整数" + numP + "=");
if(arrFactor.length == 0){
document.write("你输入的数···")
}else{
for(var i = 0; i < arrFactor.length - 1; i ++){
document.write(arrFactor[i] + "×");
}
document.write(arrFactor[arrFactor.length - 1]);
}

</script>
</head>
<body>

</body>
</html>

方法二(优化)

  1. <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
    var a = prompt("请输入你要分解的数:", "2");
    a = 8;
    b = a;
    var num = [];
    document.write(a + "=");
    while (a > 1){
    for(var i = 2; i < b; i ++){
    if(a % i ==0){
    a /= i;
    num.push(i);
    break;
    }
    }
    }
    document.write(num.join("×"));
    </script>
    </head>
    <body>
  2.  
  3. </body>
    </html>

js中的因数分解的更多相关文章

  1. 5.0 JS中引用类型介绍

    其实,在前面的"js的六大数据类型"文章中稍微说了一下引用类型.前面我们说到js中有六大数据类型(五种基本数据类型 + 一种引用类型).下面的章节中,我们将详细讲解引用类型. 1. ...

  2. 【repost】JS中的异常处理方法分享

    我们在编写js过程中,难免会遇到一些代码错误问题,需要找出来,有些时候怕因为js问题导致用户体验差,这里给出一些解决方法 js容错语句,就是js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要 ...

  3. JS中给正则表达式加变量

    前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下.   一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = &quo ...

  4. js中几种实用的跨域方法原理详解(转)

    今天研究js跨域问题的时候发现一篇好博,非常详细地讲解了js几种跨域方法的原理,特分享一下. 原博地址:http://www.cnblogs.com/2050/p/3191744.html 下面正文开 ...

  5. 关于js中的this

    关于js中的this this是javascript中一个很特别的关键字,也是一种很复杂的机制,学习this的第一步就是要明白this既不指向函数自身也不指向函数的词法作用域,this实际上是函数被调 ...

  6. 表值函数与JS中split()的联系

    在公司用云平台做开发就是麻烦 ,做了很多功能或者有些收获,都没办法写博客,结果回家了自己要把大脑里面记住的写出来. split()这个函数我们并不陌生,但是当前台有许多字段然后随意勾选后的这些参数传递 ...

  7. JS中 call() 与apply 方法

    1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...

  8. 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查

    Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...

  9. 分析js中的constructor 和prototype

    在javascript的使用过程中,constructor 和prototype这两个概念是相当重要的,深入的理解这两个概念对理解js的一些核心概念非常的重要. 我们在定义函数的时候,函数定义的时候函 ...

随机推荐

  1. noip2015运输计划

    二分+LCA+查分前缀和 #include<iostream> #include<cstring> #include<cstdio> #include<alg ...

  2. WF学习

    1.添加argument 类的argument必须先在表达式里面实例化 argument和variable 没有区别啊??????? http://msdn.microsoft.com/en-us/l ...

  3. [HDU] 1068 Girls and Boys(二分图最大匹配)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1068 本题求二分图最大独立点集.因为最大独立点集=顶点数-最大匹配数.所以转化为求最大匹配.因为没有给 ...

  4. WCF-IIS-PDA

    PDA调用WCF 一 IIS托管WCF 项目从开始是用IIS托管的WCF,但一直出错,到最后也没有搞定,希望哪位大神知道的话可以指点. 错误如下: There was no endpoint list ...

  5. Blogger安装最新文章 - Blog透视镜

    在Blogger中,是没有最新文章的网页元素,不过倒是有信息提供这个小工具,其实这就是用来新增RSS网摘用的,其中就包含最新文章的Feed,所以只要在小工具中,加入RSS网摘Feed,就可以安装最新文 ...

  6. js深入研究之自定义混合Mixin函数

    <script type="text/javascript"> /* 增加函数 */ function augment(receivingClass, givingCl ...

  7. Android实现摇晃手机的监听

     摘自:http://blog.csdn.net/xwren362922604/article/details/8515343 监听摇晃手机的类: /**  * @author renxinwei ...

  8. wikioi1082【线段树练习 3 】

    题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和. 输入描述 Input Description 第一行一个正整数n,接下 ...

  9. 上传图片代码(chuantouxiang.php+touxiangchuli.php)

    <body> <form action="touxiangchuli.php" method="post" enctype="mul ...

  10. THREE.JS + Blender(obj、mtl加载代码)

    2016-11-04 09:23:17 THREE.REVISION "81dev" Blender     "2.78" 1.加载OBJ.MTL文件 // T ...