先判断质数存在数组里
a1为取值范围
本来是打算存一下的
后来直接字符串拼接了
代码如下
let a1=prompt("多少以内的质因数?(请输入一个正整数):");//a1质数范围
let a=0;
let b=[];//质数数组
let b1=[];//质因数数组
let c=0;//数组下标
for(let i=1;i<a1;i++){
for(let k=1;k<=parseInt(i/2);k++){
if(i%k===0){
a++;
}
}
if(a===1){
b[c]=i;
c++;
}a=0;
}alert(b);
for(let i=0;i<a1;i++){
for(let k=0;k<=parseInt(i/2);k++){
for(let l=0;l<=parseInt(i/2);l++){
for(let j=1;j<=parseInt(i/2);j++){
if(b1[j-1]!==i){
if(b[k]*b[l]===i){
console.log(`${b[k]}*${b[l]}=${i}`);
break;
}else if(b[k]*Math.pow(b[l],j)===i){
console.log(`${b[k]}*${b[l]}的${j}次方=${i}`);
break;
}else if((Math.pow(b[k],j)===i)&&(b[k]!==i)){
console.log(`${b[k]}的${j}次方=${i}`);
break;
}
}
}
}
}
}
到这里只能判断1-100以内,500以上我这台电脑测试不出来,
自认为代码应该是没问题,
有误见谅。。。。。