Простые числа Prime Numbers
Простое число делится только на 1 или на само себя
Сборники программ на разных языках программирования
https://rosettacode.org/wiki/Category:Prime_Numbers
https://rosettacode.org/wiki/10001th_prime
https://rosettacode.org/wiki/Extensible_prime_generator
QB64: число простое или есть множители
Dim p As Long: f=0: j=2: q=0: t=Timer: ' p = 2^31-1:
Randomize Timer: p = int(rnd*2^25): s=p^0.5
While f < 1 ' PRIME_mult.bas russian DANILIN
If j >= s Then f=2
If p Mod j = 0 Then q=1: Print p, j, Int(p/j)
j = j + 1
Wend
If q <> 1 Then Print p, " Prime", p/10^9, " BillionS"
Print p, Timer - t
---------------------------------------------------------
QB64: найти 10001-е простое число классическая задача
max=10001: n=1: p=0: t = Timer ' PRIME_numb.bas DANILIN
While n <= max ' 10001 104743 0.35 seconds
f=0: j=2: s=p^0.5
While f < 1
If j >= s Then f=2
If p Mod j = 0 Then f=1
j=j+1
Wend
If f <> 1 Then n=n+1: ' Print n, p
p=p+1
Wend
Print n-1, p-1, Timer-t
==========================================================
C#: число простое или есть множители
using System; using System.Text; // PRIME_mult.cs DANILIN
namespace prime // rextester.com/VBXFL2777
{ class Program
{ static void Main(string[] args)
{ var start = DateTime.Now; int f=0; int j=2; int q=0;
Random rand = new Random(); // long p = 2147483648-1;
long p = rand.Next(Convert.ToInt32(Math.Pow(2, 22))-1);
long s = Convert.ToInt32(Math.Pow(p,0.5));
while (f < 1)
{ if (j >= s)
{ f=2; }
if (p % j == 0)
{ q=1; Console.WriteLine("{0} {1} {2}",p,j,Convert.ToInt32(p/j));}
j++;
}
if (q != 1) { Console.WriteLine("Prime {0} BillionS", p); }
var finish = DateTime.Now;
Console.WriteLine(finish - start);
Console.ReadKey();
}}}
---------------------------------------------------------
C#: найти 10001-е простое число
using System; using System.Text; // PRIME_numb.cs DANILIN
namespace p10001 // 1 second 10001 104743
{ class Program // rextester.com/ZBEPGE34760
{ static void Main(string[] args)
{ int max=10001; int n=1; int p=1; int f; int j; long s;
while (n <= max)
{ f=0; j=2; s=Convert.ToInt32(Math.Pow(p,0.5));
while (f < 1)
{ if (j >= s)
{ f=2; }
if (p % j == 0) { f=1; }
j++;
}
if (f != 1) { n++; } // Console.WriteLine("{0} {1}", n, p);
p++;
}
Console.Write("{0} {1}", n-1, p-1);
Console.ReadKey();
}}}
==========================================================
c++ число простое или есть множители
#include <iostream> // PRIME_mult.cpp DANILIN
#include <cmath> // rextester.com/YDXE69472
using namespace std; int main()
{ setlocale (LC_ALL, "RUS"); srand(time(NULL));
int i; int f=0,j=2,q=0; double p,s; p=0; // long p = 2147483648-1;
for (i=0;i<9;i++) p=p+pow(10., i)*(rand()%10);
s = int (pow(p, 0.5));
cout << int(p) <<" "<< s << endl;
while (f < 1)
{ if (j >= s) { f=2; }
if (int (p) % int (j) == 0)
{ q=1; cout << int(p) <<" "<<j<<" "<< int(p/j) <<endl;}
j++;
}
if (q != 1) { cout <<"Prime "<< p << endl; }
system("pause");
}
---------------------------------------------------------
c++ найти 10001-е простое число
#include <iostream> // PRIME_10k.cpp DANILIN
#include <cmath> // rextester.com/ZUNIGB54689
using namespace std; int main() // 104743
{ setlocale (LC_ALL, "RUS"); srand(time(NULL));
int max=10004, n=1, p=1; int f, j; double s;
while (n <= max)
{ f=0; j=2; s = int (pow(p, 0.5));
while (f < 1)
{ if (j >= s) f=2;
if (int(p) % int(j) == 0) f=1;
j++;
}
if (f != 1) { n++; } // cout << n <<" "<< p << endl;
p++;
}
cout << n-1 <<" "<< p-1 << endl;
system("pause");
}
==========================================================
JavaScript JS число простое или есть множители
<!DOCTYPE html>
<title>PRIME js JavaScript</title>
<html> <body> <noscript>Vkluch JS</noscript>
https://jdoodle.com/h/2UZ
<script>
var f = 0, j=2, q=0 // p = 2147483648-1;
var p = parseInt(Math.random()*Math.pow(2,22)) -1 // 1234566674;
var s = parseInt(Math.pow(p, 0.5))
document.write( "<br>"+ p +" "+ s +"<br>" )
while (f < 1)
{ if (j >= s) { f=2 }
if ( p % j == 0 )
{ q=1; document.write(p+" _ "+j+" _ "+ p/j +"<br>") }
j++
}
if (q != 1) { document.write("Prime "+ p + "<br>") }
</script>
</body> </html>
---------------------------------------------------------
JavaScript JS найти 10001-е простое число
<!DOCTYPE html>
<title>PRIME 10k js JavaScript</title>
<html> <body> <noscript>Vkluch JS</noscript>
https://jdoodle.com/h/2V1
<script>
var max = 10001, n=1, p=1; var f,j,s
while (n <= max)
{ f=0; j=2; s = parseInt(Math.pow(p, 0.5))
while (f < 1)
{ if (j >= s) f=2
if ( p % j == 0 ) f=1
j++
}
if (f != 1) n++ // { document.write(n +" "+ p +"<br>") }
p++
}
document.write("<br>"+ (n-1) +" "+ (p-1) +"<br>" )
</script>
</body> </html>
==========================================================
Python: число простое или есть множители
import time; from random import randint # PRIME_mult.py DANILIN
p = randint(1, 2**25); s=int(p**0.5); f=0; j=2; q=0; # p=2**31-1;
while f < 2: # rextester.com/QFZD94890
if j >= s: # 2**31-1 = 2_147_483_647
f=2 # max 2_308_621_829
if p % j == 0:
q=1
print (p,j,int(p/j))
j+=1
if q != 1:
print(p," Prime", p/10**9, " BillionS")
print(time.perf_counter(), " seconds")
---------------------------------------------------------
Python: найти 10001-е простое число
import time; max=10001; n=1; p=1; # PRIME_numb.py DANILIN
while n<=max: # 78081 994271 45 seconds
f=0; j=2; s = int(p**0.5) # rextester.com/AAOHQ6342
while f < 1:
if j >= s:
f=2
if p % j == 0:
f=1
j+=1
if f != 1:
n+=1;
#print(n,p);
p+=1
print(n-1,p-1)
print(time.perf_counter())
==========================================================
Файлы Files
kenokeno.ucoz.ru/doc/PRIME.docx
kenokeno.ucoz.ru/doc/PRIME.pdf
|