js中的因数分解
方法一:
<!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>
方法二(优化)
<!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> </body>
</html>
js中的因数分解的更多相关文章
- 5.0 JS中引用类型介绍
其实,在前面的"js的六大数据类型"文章中稍微说了一下引用类型.前面我们说到js中有六大数据类型(五种基本数据类型 + 一种引用类型).下面的章节中,我们将详细讲解引用类型. 1. ...
- 【repost】JS中的异常处理方法分享
我们在编写js过程中,难免会遇到一些代码错误问题,需要找出来,有些时候怕因为js问题导致用户体验差,这里给出一些解决方法 js容错语句,就是js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要 ...
- JS中给正则表达式加变量
前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下. 一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = &quo ...
- js中几种实用的跨域方法原理详解(转)
今天研究js跨域问题的时候发现一篇好博,非常详细地讲解了js几种跨域方法的原理,特分享一下. 原博地址:http://www.cnblogs.com/2050/p/3191744.html 下面正文开 ...
- 关于js中的this
关于js中的this this是javascript中一个很特别的关键字,也是一种很复杂的机制,学习this的第一步就是要明白this既不指向函数自身也不指向函数的词法作用域,this实际上是函数被调 ...
- 表值函数与JS中split()的联系
在公司用云平台做开发就是麻烦 ,做了很多功能或者有些收获,都没办法写博客,结果回家了自己要把大脑里面记住的写出来. split()这个函数我们并不陌生,但是当前台有许多字段然后随意勾选后的这些参数传递 ...
- JS中 call() 与apply 方法
1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...
- 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查
Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...
- 分析js中的constructor 和prototype
在javascript的使用过程中,constructor 和prototype这两个概念是相当重要的,深入的理解这两个概念对理解js的一些核心概念非常的重要. 我们在定义函数的时候,函数定义的时候函 ...
随机推荐
- 【转】C++中的位拷贝与值拷贝
[转]http://blog.csdn.net/liam1122/article/details/1966617 为了便于说明我们以String类为例: 首先定义String类,而并不实现其成员函数. ...
- tomcat启动报错总结
错误一 webapps\ROOT does not exist or is not a readable directory 错误原因:在tomcat的server.xml的context中配置了不存 ...
- Kali Linux 常见问题解答
更新Kali apt源 vim /etc/apt/sources.list #开始 deb http://http.kali.org/kali kali-rolling main non-free c ...
- 小巧实用的数字加减插件(jquery插件)
2015-12-04 近期项目需要,我将插件更新了,增加了两个参数,一个参数控制文本框是否支持输入,另一个参数则是新增了一个回调函数,返回文本框内的值.另外对代码局部重构了,优化了一下封装,需要的朋友 ...
- 无法更新 EntitySet“Ips_Articles”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> 元素中没有支持当前操作的 <InsertFunction> 元素。
今天我在使用ef的时候,发现了这样的报错. 无法更新 EntitySet“Ips_Articles”,因为它有一个 DefiningQuery,而 <ModificationFunctionMa ...
- 自适应 or 移动前端页面布局的问题?
说出来,还请各位看官不要笑 - -.哥们至今不是很清楚页面的自适应和移动前端页面开发有什么区别 .有幸哪位看官清楚这些的话,希望能不吝赐教 .A.meta <meta name=& ...
- Factorial Solved Problem code: FCTRL
import sys #import psyco #很奇怪,这题用psyco就runtime error #psyco.full() def z(n): #这个应该是技巧的一种算法 r = 0 whi ...
- Swift 可选类型-备
我们先看看如下代码: var n1: Int = 10 n1 = nil //编译错误 let str: String = nil //编译错误 Int和String类型不能接受 ...
- WCF-IIS-PDA
PDA调用WCF 一 IIS托管WCF 项目从开始是用IIS托管的WCF,但一直出错,到最后也没有搞定,希望哪位大神知道的话可以指点. 错误如下: There was no endpoint list ...
- 伟福与Keil的比较--51汇编提高篇
[写在前面] 本文适合有一定汇编水平的人(了解大半的汇编语句,能区分全角与半角符号,能够独立编写流水灯.数码管等程序),传授51单片机的汇编语言经验.如果您发现不少指令不知道意思,请从网上搜索入门教程 ...