Advertisement
Guest User

ADL Callum Beckwith

a guest
Dec 14th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. Question 1 i
  2. procedure calcNonRepCombinations(IN n, IN r, OUT combinations)
  3. declare numbersGivenFac, numbersChosenFac, diffFac, combinations
  4. numbersGivenFac calculateFactorial(IN n)
  5. numbersChosenFac calculateFactorial(IN r)
  6. diffFac calculateFactorial(IN (n – r))
  7. combinations numbersChosenFac DIV (numbersChosenFac * diffFac)
  8. end
  9.  
  10. ii
  11.  
  12. procedure calcRepCombinations(IN n, IN r, OUT combinations)
  13. declare diffPlusFac, numChosenFac, numGivenDiffFac
  14. diffPlusFac calculateFactorial(IN (r + n - 1))
  15. numChosenFac calculateFactorial(IN r)
  16. numGivenDiffFac calculateFactorial(IN (n - 1))
  17. combinations diffPlusFac DIV (numChosenFac*numGivenDiffFac)
  18. end
  19.  
  20. Question 2 i
  21.  
  22. procedure sumCalc(OUT sum)
  23.  
  24. declare sum, currentNumber
  25.  
  26. for currentNumber 999 to 3 by -1 do
  27. if (currentNumber MOD 5 = 0 or currentNumber MOD 3 = 0) do
  28. sum sum + currentNumber
  29. endif
  30. end
  31.  
  32. end
  33.  
  34.  
  35. ii
  36.  
  37. procedure calculateFactorialSum(OUT sum)
  38. declare factorial, currentNumber, previousNumber, currentDigit declare sum, I, digitCount
  39. factorial returnFactorial(100)
  40. digitCount getDigits(factorial)
  41. previousNumber 0
  42. for i 1 to digitCount by 1 do
  43. currentNumber factorial MOD 10^i
  44. currentDigit (currentNumber – previousNumber) DIV 10^(i-1)
  45. previousNumber currentNumber
  46. sum sum + currentDigit
  47.  
  48. end
  49. end
  50.  
  51. Question 3
  52. function primeNoCount(IN positiveNumbers[], IN arraySize)
  53. declare primeCount, currentNumber, isDivisible
  54. declare index, divideNumber
  55. primeCount 0
  56. for index 1 to arraySize by 1 do
  57. currentNumber positiveNumbers[index]
  58. isDivisible false
  59. divideNumber currentNumber - 1
  60. while ( isDivisible = false ) do
  61. if (divideNumber = 1)then
  62. primeCount primeCount + 1
  63. isDivisible true
  64. else if ( currentNumber MOD divideNumber = 0)then
  65. isDivisible true
  66. endif
  67. divideNumber divideNumber – 1
  68. end
  69. end
  70. return primeCount
  71. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement