Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package HW;
- import org.w3c.dom.ls.LSOutput;
- import java.util.Arrays;
- import java.util.Scanner;
- public class HW7_Recursion {
- public static void main(String[] args) {
- Scanner console = new Scanner(System.in);
- int num = enteringNumb(console);
- int[] array = new int[]{12, 1, 2, 5, 96, 87, 4};
- System.out.println("Массив: " + Arrays.toString(array));
- System.out.println("num = " + num);
- System.out.println(recursionFactorial(num)); //классная работа
- System.out.println(recursionFactorialWhile(num));//домашняя работа
- System.out.println("Массив до числа N: "); //первая попытка
- recursionArray(array, num);
- System.out.println("Число Фибоначчи: " + fibonacci(num));
- System.out.print("Массив до N индекса: "); //вторая попытка
- printMass(array,num,0);
- //1. Debugger
- //2. Переписать программу Факториал через цикл while
- //3. Вывести все элементы массива от 1 до n. (recursion)
- //4. Числа Фибоначчи. Посчитать n -й член последовательности Фибоначчи 1 1 2 3 5 8 13 21
- //5. Рекурсия (почитать) обратный ход рекурсии
- }
- public static int enteringNumb(Scanner console) {
- System.out.println("Введите число: ");
- int num = console.nextInt();
- return num;
- }
- public static int recursionFactorial(int num) {
- if ((num == 1) || (num == 0)) {
- return 1;
- } else {
- return num * recursionFactorial(num - 1);
- }
- }
- //2. Переписать программу Факториал через цикл while
- public static int recursionFactorialWhile(int num) {
- while ((num == 1) || (num == 0)) {
- return 1;
- }
- return num * recursionFactorialWhile(num - 1);
- }
- //3. Вывести все элементы массива от 1 до n. (recursion) вторая попытка(на второй день раздумий) вроде все ок)))
- public static int printMass(int[] array, int n, int start) {
- if (start == n) {
- System.out.println(array[start]);
- return 1;
- } else if (n > start) {
- System.out.print(array[start] + ", ");
- return printMass(array, n, start + 1);
- } else{
- return 0;
- }
- }
- //3. Вывести все элементы массива от 1 до n. (recursion) // моя первая попытка, массив выходит в обратном порядке(((
- public static int recursionArray(int[] array, int n) {
- if (n + 1 == 0) {
- return 1;
- } else {
- System.out.print(array[n] + ", ");
- return recursionArray(array, n - 1);
- }
- }
- //4. Числа Фибоначчи. Посчитать n -й член последовательности Фибоначчи 1 1 2 3 5 8 13 21
- public static int fibonacci(int n) {
- if (n == 0) {
- return 0;
- } else if (n <= 2) {
- return 1;
- } else {
- int fibTerm = fibonacci(n - 1) + fibonacci(n - 2);
- return fibTerm;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement