Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 23.10.2017
Сообщений: 15
1

Рекурсивный метод, который выведет на экран все натуральные числа, не превышающие N, в порядке возрастания

23.10.2017, 12:20. Показов 3890. Ответов 5
Метки нет (Все метки)

5. Разработать рекурсивный метод, не возвращающий значений: Разработать рекурсивный метод, который по заданному натуральному числу N (N больше или равно 1000)
выведет на экран все натуральные числа, не превышающие N, в порядке возрастания.
Например, для N=8, на экран выводится 1 2 3 4 5 6 7 8.
ребят, помогите, очень прошу! заранее спасибо!
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2017, 12:20
Ответы с готовыми решениями:

Вывести на экран все натуральные числа, не превышающие N, в порядке убывания
Разработать рекурсивный метод, который по заданному натуральному числу N (N>=1000) выведет на экран...

Массив: вывести на экран сначало положительные числа в порядке возрастания, а потом отрицательные в порядке возрастания.
Надо "Создать динамический массив,заполнить случайными числами,затем вывести на экран сначало...

Получить в порядке возрастания все целые числа от min до max, который не входят в последовательность
#include<stdio.h> #include <ios> #include <iostream> #include <ctime> #include <iomanip> using...

Найдите все натуральные числа, не превышающие заданного числа N
Найдите все натуральные числа, не превышающие заданного числа N, которые делятся без остатка на...

5
110 / 97 / 80
Регистрация: 30.12.2015
Сообщений: 230
23.10.2017, 13:13 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
 
public class Test
{
    public static void Main()
    {
        Console.Write("Введите N: ");
        int n = int.Parse(Console.ReadLine());
        rec(n);
    }
    static void rec(int i)
    {
        if(i==0)
            return;
        else
            rec(i-1);
        Console.Write(i + " ");
    }
}
0
Эксперт .NET
15344 / 11631 / 3052
Регистрация: 17.09.2011
Сообщений: 19,469
23.10.2017, 14:55 3
Чтобы не бомбанул стек на больших значениях N:
C#
1
2
3
4
5
6
7
8
9
10
11
void M(int n)
{
    if (n <= 0)
        return;
 
    int m = n / 2;
    
    M(m);
    for (int i = m + 1; i <= n; i++)
        Console.Write($"{i} ");
}
1
610 / 420 / 205
Регистрация: 06.09.2013
Сообщений: 1,185
23.10.2017, 18:13 4
Цитата Сообщение от kolorotur Посмотреть сообщение
Чтобы не бомбанул стек на больших значениях N:
А что такие половинчатые меры: цикл с рекурсией как-то вместе плохо смотрятся.
C#
1
2
3
4
5
6
7
8
static void PrintRec(int n, int first = 1) {    
    if (first > n)
        return;
    int mid = (first + n) / 2;
    PrintRec (mid - 1, first);
    Console.Write($"{mid} ");
    PrintRec (n, mid + 1);
}
0
Эксперт .NET
15344 / 11631 / 3052
Регистрация: 17.09.2011
Сообщений: 19,469
23.10.2017, 18:22 5
Цитата Сообщение от woldemas Посмотреть сообщение
А что такие половинчатые меры
А первое что в голову пришло.

Цитата Сообщение от woldemas Посмотреть сообщение
цикл с рекурсией как-то вместе плохо смотрятся
Это вы еще реализацию быстрой сортировки не видели!

У вас в метод баг вкрался: если передать int.MaxValue, то mid уйдет в минус.
0
610 / 420 / 205
Регистрация: 06.09.2013
Сообщений: 1,185
23.10.2017, 18:27 6
Цитата Сообщение от kolorotur Посмотреть сообщение
У вас в метод баг вкрался: если передать int.MaxValue, то mid уйдет в минус.
Я знаю, эту фишку, надо писать:
C#
1
int mid = fist + (n - first) / 2;
Но не нравится мне эта запись. В реальной вещи может так и написал бы.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.10.2017, 18:27

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

Найти количество и вывести все натуральные числа, не превышающие n и не делящихся на 2, 3, 5
Задано натуральное число n. Найти количество и вывести все натуральных чисел, не превышающих n и не...

Как вывести все натуральные четные числа, не превышающие введённого?
Как через циклы выполнить такое вот задание: спрашивает у пользователя число и выводит все...

Вывести все простые натуральные числа, не превышающие заданное число N
вывести все простые натуральные числа, не превышающие заданное число N и заранее скажите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.