Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function reset(n) {
- workingNum = n; run = false; end = false; check = false; str = '';
- }
- function initialTest(n) {
- for (i = 2; i < n; i++) {
- if (n % i === 0) {check = true; return;}
- if (n / i < i) return;
- }
- }
- function isPrime(n) {
- for (i = 2; i < n; i++) {
- if (n % i === 0) {run = false; return;}
- }
- currentPrimeNum = i; run = true;
- }
- function concat(sum, n) {
- if (sum === 1) str = str + '(' + n + ')';
- else str = str + '(' + n + '**' + sum + ')';
- }
- function calculate(n) {
- var sum = 0; var divide = true;
- while (divide === true) {
- if (workingNum % n === 0) {workingNum /= n; sum++; divide = true;}
- else divide = false;
- }
- if (sum >= 1) concat(sum, n);
- if (workingNum === 1) {end = true; return;}
- var final = true;
- var x = 2;
- while (final) {
- if (workingNum % x === 0) final = false;
- if (workingNum / x < x) {str = str + '(' + workingNum + ')'; end = true; return;}
- x++;
- }
- if (final === true) {str = str + '(' + workingNum + ')'; end = true;}
- }
- function main(n) {
- reset(n);
- initialTest(n);
- if (!check) return;
- for (num = 2; num < n; num++) {
- isPrime(num);
- if (run) calculate(currentPrimeNum);
- if (end) return;
- }
- }
- function primeFactors(n) {
- main(n);
- if (!check) {var prime = '(' + n + ')'; return prime;}
- return str;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement