Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2015, 18:50   #1
Андрей Иванов
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 60
Сообщение Принять с клавиатуры натуральное число n. Написать рекурсивную функцию, которая выведет все четные числа от n до 1.

Принять с клавиатуры натуральное число n. Написать рекурсивную функцию, которая выведет все четные числа от n до 1.
Андрей Иванов вне форума Ответить с цитированием
Старый 09.05.2015, 19:13   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Твои попытки увидеть можно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.05.2015, 19:31   #3
Андрей Иванов
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 60
По умолчанию

Код:
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<math.h>
using namespace std;

int natur(int, int);

int main()
{
	setlocale(0, "RUS");
	int m, n;
	cout << "Введите числа m и n: " << endl;
	cin >> m; cin >> n;
	cout << "Результат: " << endl;
	printf("%d\n", natur(m, n));
	getch();
	return 0;
}

int natur(int m, int n)
{
	if ((m <= 0)&(n>0))
	{
		return natur(m + 1, n);
	}
	if ((m>0)&(n>0))
	{
		if (n>0)
			cout << m << " ";
		return natur(m + 1, n - 1);
	}
	if ((m <= 0)&(n <= 0))
	{
		return 0;
	}
}
Андрей Иванов вне форума Ответить с цитированием
Старый 09.05.2015, 20:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
int natur(int);
...
int natur(int n){ if(n%2) cout<<n<<'\n'; if(n>1) natur(n-1); return 0;}
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.05.2015, 20:45   #5
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Мой вариант
Код:
package ru.bugrimov;

import java.util.Scanner;

public class L3 {
    public static void main(String[] args) {
        System.out.println("Введите диапазон чисел");
        Scanner scanner = new Scanner(System.in);

        System.out.print("От: ");
        int from = scanner.nextInt();
        System.out.print("До: ");
        int to = scanner.nextInt();

        System.out.print("Результат:");
        even(from, to);
    }

    private static int even(int from, int to) {
        if(from <= to) {
            if(from % 2 == 0 & from != 0) {
                System.out.print(" [" + from + "]");
            }
            even(from + 1, to);
        }
        return 0;
    }
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 09.05.2015, 20:56   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Мой вариант
Автору С++ нужно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.05.2015, 07:38   #7
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Без проблем
Код:
int even(int from, int to) {
        if(from <= to) {
            if(from % 2 == 0 & from != 0) {
                cout << " [" << from << "]";
            }
            even(from + 1, to);
        }
        return 0;
    }
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 10.05.2015, 10:31   #8
Андрей Иванов
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 60
По умолчанию

Stilet, Bugrimov, спасибо за помощь.
Андрей Иванов вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать рекурсивную функцию возведение вещественного числа в целую степень nobo Общие вопросы C/C++ 5 11.05.2014 17:12
Ввести натуральное число N. Вывести вначале все его четные, а затем нечетные делители leshiy_777 Паскаль, Turbo Pascal, PascalABC.NET 10 20.12.2013 15:51
Задано натуральное число N. Написать рекурсивную функцию для вычисления количества цифр заданного числа. kirito_17 Помощь студентам 2 20.11.2013 15:55
Натуральное число - Определить, образуют ли все цифры числа возрастающую последовательность Sasha2011 Паскаль, Turbo Pascal, PascalABC.NET 1 18.10.2011 09:25
Составить рекурсивную функцию, которая находит цифровой корень целого числа. Feran Помощь студентам 11 08.12.2010 00:31