我想知道一个算法找到两个素数p和q,其中p和q足够大,q除以p - 1。
答案 0 :(得分:2)
如果你有一个好的计算机女巫可以做大量的计算,你可以使用第一个素数列表,并将每个新的素数-1与其他素数进行比较。 它运行显示对素数p分为q-1,但需要一点时间。
如果你想要更大的数字,而不是将新的素数与已找到的每个素数进行比较,
你可以比较第一次素数和每个第一次素数大于100000的乘积。(第一次素数+1的乘积是素数,所以你想要比较(第一次数+1的乘积)-1和素数)< / p>
<html>
<head>
<meta charset="ISO-8859-1">
</head>
<body>
<script>
var prime = [];
var result = [];
var minP=5000;
var minQ=10000;
// On cherche les nombres premiers jusqu'à max
var max = 200000;
for(i = 2; i <= max; i++) {
var j = 1;
var racine = Math.floor(Math.sqrt(i));
do {
j++;
} while(j <= racine && i%j != 0);
if(j > racine) {
for(k = minP; k <= prime.length; k++) {
if( (i-1)% prime[k] ==0 ){
result.push(i+' / '+prime[k]);
document.write(i+' / '+prime[k]+ '<br/>');
}
}
// On retiens les nombres premiers trouvés
prime.push(i);
}
}
console.log('prime=',prime, 'res=',result);
//document.write(result[result.length-1]);
</script>
</body>
</html>