Guest User

Untitled

a guest
Sep 25th, 2018
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var arr:Array = [A,S,M,D,P,R];
  2. var ar:Array = ["A","S","M","D","P","R"];
  3. var end:Array = [];
  4. var count:int = 0;
  5.  
  6. permute(0);
  7. trace(end);
  8. trace(count);
  9.  
  10. function permute(index:int):void {
  11.     var i:int = 0;
  12.     if (index == ar.length) {
  13.         var res:Number = arr[arr.length-1].call(this,
  14.                             arr[arr.length-2].call(this,
  15.                                 arr[arr.length-3].call(this,
  16.                                     arr[arr.length-4].call(this,
  17.                                         arr[arr.length-5].call(this,
  18.                                             arr[0].call(this, 0))))));
  19.         trace(ar.join("") + ": " + res);
  20.         if (res == -2) end.push(ar.join(""));
  21.         count++;
  22.         return;
  23.     }
  24.     for (i = index; i < ar.length; i++) {
  25.         swap(index, i);
  26.         permute(index + 1);
  27.         swap(index, i);
  28.     }
  29. }
  30.  
  31. function swap(a:int, b:int):void {
  32.     var c = ar[a];
  33.     ar[a] = ar[b];
  34.     ar[b] = c;
  35.    
  36.     var d = arr[a];
  37.     arr[a] = arr[b];
  38.     arr[b] = d;
  39. }
  40.  
  41.  
  42. function A(n:Number):Number {
  43.     return n+2;
  44. }
  45.  
  46. function S(n:Number):Number {
  47.     return n-2;
  48. }
  49.  
  50. function M(n:Number):Number {
  51.     return n*2;
  52. }
  53.  
  54. function D(n:Number):Number {
  55.     return n/2;
  56. }
  57.  
  58. function P(n:Number):Number {
  59.     return n*n;
  60. }
  61.  
  62. function R(n:Number):Number {
  63.     return Math.sqrt(n);
  64. }
Add Comment
Please, Sign In to add comment