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的一些核心概念非常的重要. 我们在定义函数的时候,函数定义的时候函 ...
随机推荐
- git 笔记记录
分布式版本控制系统Git 是一套内容寻址文件系统,从核心上来看不过是简单地存储键值对.一: git 本地clone 一个仓库 1. 直接clone一个仓库: $: git clon ...
- C# 获取计算机 信息
/// <summary> /// 获取本机 机器名 /// </summary> /// <returns></returns> public sta ...
- Python subprocess执行持续输出shell命令的控制
研究了大半天,为了获取持续输出的shell指令结果,并对结果进行分析,一直因为无法控制subprocess开启的子进程头疼,研究了半天,参考众多大神的博客后,终于实现,目前已时间为控制点,在实际业务中 ...
- USB 调试工具(python2.7 + Tkinter + pyusb/pywinusb)
项目地址:USB-HID-TEST 整体预览图(win8下的效果): ====================== 项目结构: COM --hidHelper.py --usbHelper.py UI ...
- syscall 中断号
#ifndef __ASM_ARM_UNISTD_H #define __ASM_ARM_UNISTD_H #define __NR_OABI_SYSCALL_BASE 0x900000 #if de ...
- iOS开发网络数据之AFNetworking使用
iOS开发网络数据之AFNetworking使用 如何选择AFNetworking版本 首先得下载AFNetworking库文件,下载时得首先弄清楚,你将要开发的软件兼容的最低版本是多少.AFNetw ...
- NSIS脚本调用C语言写的插件
其实NSIS的官网已经提供了很多别人开发的插件了,今天需要用到GetVersion这个插件,这是不维护的插件了,不推荐用,但是由于现实中的问题,导致我不得不用这个插件. 所以就下载下来了. 下载下来之 ...
- logstash 判断接口响应时间发送zabbix告警
input { file { type => "zj_api_access" path => ["/data01/applog_backup/zjzc_log ...
- zabbix 发送邮件配置
Administration->Users->User name->Media <img src="http://img.blog.csdn.net/20160919 ...
- 【转】精简深拷贝ArrayList实例
原文网址:http://gghhgame51333.blog.51cto.com/138362/289383 精简深拷贝ArrayList实例(包括递归和序列化方法) 2007-07-12 16:50 ...