Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function copy(a) {
- var b = new Array(a.length);
- for (var i = 0; i < a.length; i++) {
- b[i] = a[i];
- }
- return b;
- }
- var coeff = [1e+16, 1e+16, 1e+16, 1e+16, 1e+19, 1e+19, 1e+22, 1e+22, 1e+25, 1e+25, 1e+28, 1e+28];
- var base = [1.5, 1.5, 1.5, 1.5, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75];
- var level = [61, 60, 60, 61, 31, 31, 19, 18, 7, 5, 0, 0];
- var goal = 1.321e+27;
- var baseValues = new Array(12);
- for (var i = 0; i < 12; i++) {
- baseValues[i] = coeff[i]*Math.pow(base[i], level[i]);
- }
- var uses = new Array(12);
- for (var i = 0; i < 12; i++) {
- uses[i] = 0;
- }
- var values = copy(baseValues);
- var N = 8;
- var topNLower = new Array(N);
- var topNLowerTrack = new Array(N);
- var topNUpper = new Array(N);
- var topNUpperTrack = new Array(N);
- for (var i = 0; i < N; i++) {
- topNLower[i] = 0;
- topNLowerTrack[i] = [];
- topNUpper[i] = 1e+400;
- topNUpperTrack[i] = [];
- }
- var sumStack = new Array(12);
- for (var i = 0; i < 12; i++) {
- sumStack[i] = 0;
- }
- var sum = 0;
- var i;
- var k;
- while (true) {
- i = 12;
- while (--i >= 0) {
- if (uses[i] > 0)
- break;
- }
- if (i < 0) {
- sum += values[0];
- sumStack[0] = sum;
- values[0] *= base[0];
- uses[0]++;
- } else {
- if (sum < goal) {
- sum += values[i];
- sumStack[i] = sum;
- values[i] *= base[i];
- uses[i]++;
- } else {
- if (i == 11) {
- sum = sumStack[i-1];
- uses[i] = 0;
- while (--i >= 0) {
- if (uses[i] > 0)
- break;
- }
- if (i < 0) {
- break; // we are done
- }
- }
- if (--uses[i] == 0 && i > 0) {
- values[i] = baseValues[i];
- sum = sumStack[i-1];
- } else {
- values[i] /= base[i];
- sum -= values[i];
- }
- sumStack[i] = sum;
- sum += values[i+1];
- sumStack[i+1] = sum;
- uses[i+1]++;
- }
- }
- if (sum < goal) {
- if (sum > topNLower[0]) {
- k = N-1;
- while (topNLower[k] >= sum) {
- k--;
- }
- topNLower[k] = sum;
- topNLowerTrack[k] = copy(uses);
- }
- } else {
- if (sum < topNUpper[N-1]) {
- k = 0;
- while (topNUpper[k] <= sum) {
- k++;
- }
- topNUpper[k] = sum;
- topNUpperTrack[k] = copy(uses);
- }
- }
- }
- var str = "";
- str += "Welcome to the moneypit/digger help center!\n\n";
- str += "Current digger levels : " + level.join(", ") + "\n\n";
- str += "Ways of buying to achieve goal: \n";
- for (k = 0; k < N; k++) {
- str += topNLower[k] + " from " + topNLowerTrack[k].join(", ") + "\n";
- }
- str += "Goal : " + goal + "\n";
- for (k = 0; k < N; k++) {
- str += topNUpper[k] + " from " + topNUpperTrack[k].join(", ") + "\n";
- }
- WScript.echo(str);
- WScript.sleep(4*60*1000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement