(图片来自网络)
方法一:
//穷举一些质数
function zhishu(num){
let arr = [];
for (var i = 100; i < num ; i++) {
for (var j = 2; j < i; j++) {
if (i%j==0)
{
break;
}
else if(j==i-1){
arr.push(i);
}
}
}
return arr;
}
//判断是否是整数
function isInt(num){
return parseInt(num) == num ? true : false;
}
//第一步,取100000以内的质数
let zhishu_arr = zhishu(100000);
let mult = 707829217;
let a,b;
//第二步,穷举计算能否整出
for(let i=0;i<zhishu_arr.length;i++){
a = mult / zhishu_arr[i];
if(isInt(a)){
b = zhishu_arr[i];
break;
}
}
console.log("a:" + a); //86627
console.log("b:" + b); //8171
//第三步得出结果
if(a>b){
console.log("NY" + a + b);
}else{
console.log("NY" + a + b);
}
// 微信号:NY866278171
附加题:
let id = 866278171; //这个数值太大了,我的这种笨方法,不想浪费cpu
id = 1111; //随便一测
let count = 0;
for(let i=1;i<=id;i=i+2){
let temp = i;
while(temp > 1){
if(temp % 10 == 3){
count++;
}
temp = Math.floor(temp / 10);
}
}
console.log("count:" + count);
PS:最后一题,是有规律的,以后补充。