mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-16 06:18:42 +02:00
Optimized Largest Prime factor coding contract solver.
This commit is contained in:
4
src/Hacknet/GetMaxNumberUpgradeFns.js
Normal file
4
src/Hacknet/GetMaxNumberUpgradeFns.js
Normal file
@@ -0,0 +1,4 @@
|
||||
/**
|
||||
* Utility functions for calculating the maximum number of Hacknet upgrades the player
|
||||
* can purchase for a Node with his/her current money
|
||||
*/
|
||||
@@ -65,14 +65,14 @@ export const codingContractTypesMetadata: ICodingContractTypeMetadata[] = [
|
||||
solver: (data: number, ans: string) => {
|
||||
let fac: number = 2;
|
||||
let n: number = data;
|
||||
while (Math.sqrt(n) > fac-1) {
|
||||
while (n > ((fac-1) * (fac-1))) {
|
||||
while (n % fac === 0) {
|
||||
n = Math.round(n / fac);
|
||||
}
|
||||
++fac;
|
||||
}
|
||||
|
||||
return (n===1?(fac-1):n) === parseInt(ans, 10);
|
||||
return (n===1 ? (fac-1) : n) === parseInt(ans, 10);
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user