p=5 x=4
p=7 x=6
p=11 x=5
p=13 x=3
p=17 x=16
p=19 x=18
p=23 x=11
p=29 x=28
p=31 x=30
p=37 x=18
p=41 x=8
p=43 x=117
p=47 x=23
p=53 x=68
p=59 x=29
p=61 x=10
p=67 x=22
p=71 x=51
p=73 x=12
p=79 x=56
p=83 x=36
p=89 x=143
p=97 x=39
p=101 x=47
p=103 x=78
p=107 x=325
先发个,算法待优化,我吃饭了看看。发不了附件?把下面代码拷贝到txt里面,然后重命名为xxx.html就行
testfunction $(id){
return document.getElementById(id);
}
function calc(index){
var p = "";
if(index == ""){
p = $("NUMp").value;
if(!isNaN(p) && p != ""){
var x = 1;
while (Math.pow(3,x)%p != 1) {
x++;
}
$("NUMi").value = x;
}else{
alert("参数有误");
}
}else{
p = index;
var x = 1;
while (modNum(x,p) != 1) {
x++;
}
$("textarea").value = $("textarea").value + "\t x=" + x +"\n";
}
}
function modNum(x,p){
return Math.pow(3,x)%p;
}
function auto(){
$("textarea").value = "";
var maxp = 0;
maxp = $("maxp").value;
for(var i = 5;i< maxp;i++){
var maxI = Math.round(Math.sqrt(i));
for(var j = 2;j<= maxI ;j++){
if(i%j == 0){
break;
}
if(j == maxI){
$("textarea").value = $("textarea").value + "p=" + i ;
calc(i);
}
}
}
}
数字P:
结果i:
p的最大范围:
,