Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <title></title>
- </head>
- <body>
- <div id="result"></div>
- <div id="time"></div>
- <script type="text/javascript">
- let performanceBeginning = performance.now();
- let startPoint = 10000,
- endPoint = 100000,
- primeNumbers = [],
- palindromes = [];
- var palarray = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
- primeNumbers = calcPrimeNumbers(startPoint, endPoint);
- let perfPrimes = performance.now();
- palindromes = multiplyNumbers(primeNumbers);
- showResult(palindromes);
- // find all prime numbers in provided segment
- function calcPrimeNumbers(startPoint, endPoint) {
- let array = [];
- // we wanna do += 2
- array.push(2);
- // test i for being prime
- for (let i = 3; i < endPoint; i+=2) {
- // loop through found primes
- let isPrime = true;
- for (let j = 0; (j < array.length) && (array[j]*array[j] < i); j++) {
- // check if divisor
- if ( i % array[j] == 0) {
- isPrime = false;
- break;
- }
- }
- if (isPrime)
- array.push(i);
- }
- return array;
- }
- // multiply all numbers in array with themselves and return the biggest number
- function multiplyNumbers(array) {
- // loop through all values in array
- // "i" variable is an index of the current multiplicand in array
- let ist = 0;
- let jst = 0;
- let biggestPalindrome = 0;
- for (let i = 0; i < array.length; i++) {
- // loop through the rest of array values
- for (let j = i + 1; j < array.length; j++) {
- let product = array[i] * array[j];
- // check if product is palindrome and bigger than previous biggest number
- if (product > biggestPalindrome && isPalindrome(product)) {
- ist = i;
- jst = j;
- biggestPalindrome = product;
- }
- }
- }
- return {
- multiplier: array[ist],
- multiplicand: array[jst],
- product: biggestPalindrome
- };
- }
- function isPalindrome(number) {
- let i = 0;
- for (i = 0; number > 0; i++)
- {
- palarray[i] = number % 10;
- number = ~~(number/10);
- }
- for (let j = i >> 1; j >=0; j--)
- {
- if (palarray[j] != palarray[i - j - 1])
- return false;
- }
- return true;
- }
- function showResult(result) {
- let string = JSON.stringify(result);
- let div = document.getElementById('result');
- div.innerHTML = string;
- }
- let performanceEnd = performance.now();
- document.getElementById('time').innerHTML = 'Script has been executed in ' + ((performanceEnd - performanceBeginning) / 1000)
- + ' seconds primes in ' + ((perfPrimes - performanceBeginning) / 1000);
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement