Data update
This commit is contained in:
parent
ed705008a8
commit
0df55f9f24
2196 changed files with 32999 additions and 3075 deletions
48
Task/Primorial-numbers/JavaScript/primorial-numbers-1.js
Normal file
48
Task/Primorial-numbers/JavaScript/primorial-numbers-1.js
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ // calculate and show some primorial numbers
|
||||
'use strict'
|
||||
|
||||
let primorial = 1n
|
||||
let prime = 1n
|
||||
let pn = []
|
||||
const maxNumber = 2000000
|
||||
let isPrime = []
|
||||
for( let i = 1; i <= maxNumber; i ++ ){ isPrime[ i ] = i % 2 != 0 }
|
||||
isPrime[ 1 ] = false
|
||||
isPrime[ 2 ] = true
|
||||
const rootMaxNumber = Math.floor( Math.sqrt( maxNumber ) )
|
||||
for( let s = 3; s <= rootMaxNumber; s += 2 ){
|
||||
if( isPrime[ s ] ){
|
||||
for( let p = s * s; p <= maxNumber; p += s ){ isPrime[ p ] = false }
|
||||
}
|
||||
}
|
||||
|
||||
const primeMax = 100000
|
||||
pn[ 0 ] = 1
|
||||
let nextToShow = 10
|
||||
for( let i = 1; i <= primeMax; i ++ ){
|
||||
// find the next prime
|
||||
prime += 1n
|
||||
while( ! isPrime[ prime ] ){ prime += 1n }
|
||||
primorial *= prime
|
||||
if( i < 10 ){
|
||||
pn[ i ] = primorial
|
||||
}
|
||||
else if( i == nextToShow ){
|
||||
if( nextToShow < 10000 ){
|
||||
nextToShow *= 10
|
||||
}
|
||||
else{
|
||||
nextToShow += 10000
|
||||
}
|
||||
if( i == 10 ){ console.log( "primorials 0-9: ", pn.toString() ) }
|
||||
// show the number of digits in the primorial
|
||||
let p = primorial
|
||||
let length = 0
|
||||
while( p > 0 ){
|
||||
length += 1
|
||||
p /= 10n
|
||||
}
|
||||
console.log( "length of primorial " + i + " is "+ length )
|
||||
}
|
||||
}
|
||||
}
|
||||
56
Task/Primorial-numbers/JavaScript/primorial-numbers-2.js
Normal file
56
Task/Primorial-numbers/JavaScript/primorial-numbers-2.js
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
{ // calculate and show some primorial numbers
|
||||
'use strict'
|
||||
|
||||
let primorial = 1n
|
||||
let prime = 1n
|
||||
let pn = []
|
||||
const maxNumber = 2000000
|
||||
let isPrime = []
|
||||
for( let i = 1; i <= maxNumber; i ++ ){ isPrime[ i ] = i % 2 != 0 }
|
||||
isPrime[ 1 ] = false
|
||||
isPrime[ 2 ] = true
|
||||
const rootMaxNumber = Math.floor( Math.sqrt( maxNumber ) )
|
||||
for( let s = 3; s <= rootMaxNumber; s += 2 ){
|
||||
if( isPrime[ s ] ){
|
||||
for( let p = s * s; p <= maxNumber; p += s ){ isPrime[ p ] = false }
|
||||
}
|
||||
}
|
||||
|
||||
const primeMax = 100000
|
||||
pn[ 0 ] = 1
|
||||
let nextToShow = 10
|
||||
let reducedDigits = 0
|
||||
const n500 = 10n**500n
|
||||
const n1000 = 10n**1000n
|
||||
for( let i = 1; i <= primeMax; i ++ ){
|
||||
// find the next prime
|
||||
prime += 1n
|
||||
while( ! isPrime[ prime ] ){ prime += 1n }
|
||||
primorial *= prime
|
||||
if( i < 10 ){
|
||||
pn[ i ] = primorial
|
||||
}
|
||||
else if( i == nextToShow ){
|
||||
if( nextToShow < 10000 ){
|
||||
nextToShow *= 10
|
||||
}
|
||||
else{
|
||||
nextToShow += 10000
|
||||
}
|
||||
if( i == 10 ){ console.log( "primorials 0-9: ", pn.toString() ) }
|
||||
// show the number of digits in the primorial
|
||||
let p = primorial
|
||||
let length = 0
|
||||
while( p > 0 ){
|
||||
length += 1
|
||||
p /= 10n
|
||||
}
|
||||
console.log( "length of primorial " + i + " is "+ ( reducedDigits + length ) )
|
||||
}
|
||||
if( primorial > n1000 ){
|
||||
// the number has more than 1000 digits - reduce it to 500-ish
|
||||
primorial /= n500
|
||||
reducedDigits += 500
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue