Advertisement
Guest User

Untitled

a guest
Apr 28th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. /*
  2. Problem statement
  3. =================
  4.  
  5. Here’s another way to define whether a positive whole number is even or odd:
  6.  
  7. • Zero is even.
  8. • One is odd.
  9. • For any other number N, its evenness is the same as N - 2.
  10.  
  11. Define a recursive function isEven corresponding to this description. The function should accept a number parameter and return a Boolean.
  12. Test it on 50 and 75. See how it behaves on -1. Why? Can you think of a way to fix this?
  13.  
  14. */
  15.  
  16. function isEven(num1){
  17. if(isNaN(num1)){
  18. return 'Not a number!';
  19. }
  20. else if(num1 == 0){
  21. return 'even';
  22. }
  23. else if(num1 == 1){
  24. return 'odd';
  25. }
  26. else{
  27. if(num1 > 0){
  28. return deduct(num1 - 2);
  29. }
  30. else{
  31. return deduct(num1 + 2);
  32. }
  33. }
  34. function deduct(num2){
  35. return isEven(num2);
  36. }
  37. }
  38.  
  39. console.log('Entered number is: ' + isEven(0));
  40. console.log('Entered number is: ' + isEven(1));
  41. console.log('Entered number is: ' + isEven(50));
  42. console.log('Entered number is: ' + isEven(75));
  43. console.log('Entered number is: ' + isEven(-50));
  44. console.log('Entered number is: ' + isEven(-75));
  45. console.log('Entered number is: ' + isEven('lorem'));
  46.  
  47. /*
  48. Output
  49. ======
  50.  
  51. "Entered number is: even"
  52. "Entered number is: odd"
  53. "Entered number is: even"
  54. "Entered number is: odd"
  55. "Entered number is: even"
  56. "Entered number is: odd"
  57. "Entered number is: Not a number!"
  58.  
  59. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement