Advertisement
Guest User

numberology

a guest
Oct 22nd, 2015
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. // lifted from bigevildan's pastebin script @ http://pastebin.com/0jGihztm
  2. int moonsign() {
  3. switch (my_sign()) {
  4. case "Mongoose": return 1;
  5. case "Wallaby": return 2;
  6. case "Vole": return 3;
  7.  
  8. case "Platypus": return 4;
  9. case "Opossum": return 5;
  10. case "Marmot": return 6;
  11.  
  12. case "Wombat": return 7;
  13. case "Blender": return 8;
  14. case "Packrat": return 9;
  15.  
  16. case "Bad Moon": return 10;
  17.  
  18. default:
  19. print("Unknown moon sign, guessing 11 as the number.", "red");
  20. return 11;
  21. }
  22. }
  23.  
  24. // Euclid's extended GCD algorithm to compute modular inverses.
  25. int [3] gcd(int a, int b) {
  26. int [3] ret;
  27. int s = 0,
  28. old_s = 1,
  29. t = 1,
  30. old_t = 0;
  31. while (min(a, b) > 0) {
  32. int c = a;
  33. int q = a / b;
  34. a = b;
  35. b = c % b;
  36.  
  37. c = old_s;
  38. old_s = s;
  39. s = c - s*q;
  40.  
  41. c = old_t;
  42. old_t = t;
  43. t = c - t*q;
  44. }
  45. ret[0] = max(a, b);
  46. ret[1] = old_s;
  47. ret[2] = old_t;
  48. return ret;
  49. }
  50.  
  51. int invert(int num) {
  52. num = num % 100;
  53. num = num >= 0 ? num : num + 100;
  54. int a = (my_spleen_use() + my_level()) % 100;
  55. int b = (a * (my_ascensions() + moonsign()) + my_adventures()) % 100;
  56. int [3] gcd = gcd(100, a);
  57. if (num < 0 || (num - b) % gcd[0] != 0) {
  58. print(num + " is not a possible result!", "red");
  59. } else {
  60. int temp = (100 + num - b) / gcd[0];
  61. int val = (100 + gcd(100 / gcd[0], a / gcd[0])[2]) * temp % 100;
  62. print("To get [" + num + "], enter " + val + " (result: " + (a * val + b) + ")", "green");
  63. print("(" + a + ", " + b + ")");
  64. return val;
  65. }
  66. return -1;
  67. }
  68.  
  69. void main(int num) {
  70. invert(num);
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement