Guest User

Untitled

a guest
Jul 15th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. /**
  2. * Орлов
  3. */
  4.  
  5. // 1. Реализовать функцию перевода из 10 системы в двоичную используя рекурсию.
  6. /*
  7.  
  8. public class HomeworkAlg2 {
  9. public static void main(String[] args) {
  10. int num = 152;
  11. StringBuilder binary = new StringBuilder();
  12. toBinary(num, binary);
  13. System.out.println(binary);
  14. }
  15.  
  16. private static void toBinary(int number, StringBuilder aggregator) {
  17. if (number == 0) {
  18. return;
  19. }
  20. toBinary(number / 2, aggregator);
  21. aggregator.append(number % 2);
  22. }
  23. }
  24.  
  25. */
  26.  
  27. /* 1. 2. Реализовать функцию возведения числа a в степень b:
  28. a. без рекурсии;
  29. b. рекурсивно;
  30. c. *рекурсивно, используя свойство чётности степени. */
  31.  
  32.  
  33. public class HomeworkAlg2 {
  34. public static void main(String[] args) {
  35.  
  36. double a = 2;
  37. int b = 6;
  38.  
  39. //Без рекурсии
  40. System.out.println(Math.pow(a, b));
  41.  
  42. //С рекурсией
  43. System.out.println(pow(a, b));
  44.  
  45. //С рекурсией c использованием бинарности степени
  46. System.out.println(pow2(a, b));
  47.  
  48. }
  49.  
  50. private static double pow (double a, int count) {
  51. if (count != 1) {
  52. return a * pow(a, --count);
  53. } return a;
  54. }
  55.  
  56. private static double pow2 (double a, int count) {
  57. if (count != 1) {
  58. return 2 * a * pow(a, count - 2);
  59. } return a;
  60. }
  61. }
Add Comment
Please, Sign In to add comment