Advertisement
Guest User

Untitled

a guest
Feb 17th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. const getGets = (n1) => {
  2. let inde0 = 0;
  3.  
  4. return () => {
  5. const toReturn = n1[inde0];
  6. inde0 ++;
  7. return toReturn;
  8. };
  9. };
  10. // this is the test
  11. const test = [
  12. '0',
  13. '10,20,30,40,50',
  14. '2 forward 1',
  15. '2 backwards 1',
  16. '3 forward 2',
  17. '3 backwards 2',
  18. 'exit',
  19. ];
  20.  
  21. const gets = this.gets || getGets(test);
  22. const print = this.print || console.log;
  23.  
  24.  
  25. let pos = +gets();
  26.  
  27. let arr = gets().split(',').map(Number);
  28.  
  29. let sumForward = 0;
  30. let sumBackward = 0;
  31.  
  32. for (i = 0; i < 10; i++) {
  33. let temp = arr[i];
  34. arr.push(temp);
  35. arr.shift(arr[i]);
  36. arr.push(arr[i]);
  37. }
  38.  
  39. while (true) {
  40.  
  41. let input = gets();
  42.  
  43. if (input === 'exit') {
  44. break;
  45. }
  46.  
  47. let [x] = input;
  48. let y = input.replace(/[^a-zA-Z]+/g, '');
  49. let [z] = input.slice(-1);
  50.  
  51. [x , z] = [+x , +z];
  52.  
  53. let indx = pos;
  54. let counter = 0;
  55.  
  56. if (y === 'forward') {
  57. for (i = 0; i < x; i++) {
  58. indx += z;
  59. sumForward += arr[indx];
  60. }
  61. counter += indx;
  62.  
  63. } else if (y === 'backwards') {
  64. indx = counter;
  65. for (i = 0; i < x; i++) {
  66. indx -= (counter - z)
  67. print(arr[indx])
  68. sumBackward += arr[indx];
  69. counter = indx;
  70. }
  71. }
  72.  
  73. }
  74. print('Forward: ' + sumForward)
  75. print('Backwards: ' + sumBackward)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement