ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.11.2023

Просмотров: 63

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИфедеральное государственное бюджетное образовательное учреждение высшего образования«Тольяттинский государственный университет»

(наименование института полностью)



(Наименование учебного структурного подразделения)




(код и наименование направления подготовки / специальности)



(направленность (профиль) / специализация)
Практическое задание №1по учебному курсу «Алгоритмы и структуры данных»(наименование учебного курса)

Обучающегося

Иванов П.Р.







(И.О. Фамилия)




Группа

ПИБД-1909













Преподаватель

Тренина Марина Анатольевна







(И.О. Фамилия)



Тольятти 2023Формулировка задания 1 Выполните следующие задачи с использованием рекурсивных функций.

  1. Дано натуральное число n. Выведите все его цифры.

  2. Дано натуральное число n. Найти сумму цифр данного числа.

  3. Дано натуральное число n. Запишите его в обратном порядке.

  4. Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Выведите все нечетные числа из этой последовательности, сохраняя их порядок.

Решение:

  1. public class Solution {
publicstatic String recursion(int n){// Базовый случайif (n == 1) {return"1"; }// Шаг рекурсии / рекурсивное условиеreturn recursion(n - 1) + " " + n; }publicstaticvoidmain(String[] args){ System.out.println(recursion(10)); // вызоврекурсивнойфункции}}

  1. public class Solution {
publicstaticintrecursion(int n){// Базовый случай if (n < 10) {return n; }// Шаг рекурсии / рекурсивное условие else {return n % 10 + recursion(n / 10); } }publicstaticvoidmain(String[] args){ System.out.println(recursion(123)); // вызоврекурсивнойфункции}}

  1. public class Solution {
publicstaticintrecursion(int n){// Базовый случай if (n < 10) {return n; }// Шаг рекурсии / рекурсивное условие else { System.out.print(n % 10 + " ");return recursion(n / 10); } }publicstaticvoidmain(String[] args){ System.out.println(recursion(123)); // вызоврекурсивной

функции}}

  1. public class Solution {
publicstaticvoidrecursion(){ java.util.Scanner in = new java.util.Scanner(System.in);int n = in.nextInt();// Базовый случайif (n > 0) {// Шаг рекурсии / рекурсивное условиеif (n % 2 == 1) { System.out.println(n); recursion(); } else { recursion(); } } }publicstaticvoidmain(String[] args){recursion(); // вызов рекурсивной функции }}