Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
6 / 6 / 4
Регистрация: 16.11.2013
Сообщений: 134
1

На сколько квадратов с натуральными длинами сторон можно разрезать исходный прямоугольник?

20.11.2013, 21:33. Показов 1757. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter a: ");
            int a = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Enter b: ");
            int b = Int32.Parse(Console.ReadLine());
 
            Console.WriteLine("The number of squares = " + Numsq(a, b));
            Console.ReadKey();
            }
        static public int Numsq(int a, int b)
        {
            int s = 0;
            if (b == 0)
            {
                return 0;
            }
            else
            {
                s = a/b + Numsq(b, a%b);
                return s;
            }
        
        }
_____________
Вот сама задача: Дан прямоугольник с со сторонами a, b. На сколько квадратов с натуральными длинами сторон можно разрезать исходный прямоугольник, если каждый раз от него отрезать квадрат максимально возможной площади?

Решение я в общем-то списал, ибо долго не мог прийти ни к какому решению. А решение оказалось с рекурсией, которую я вообще не могу понять. Особенно строка
C#
1
s = a/b + Numsq(b, a%b);
. Не могу понять какое значение принимает аргумент Numsq(b, a%b) и вообще что это значит и как оно работает, не могу понять смысл выражения в скобках, понимаю, что идёт обращение к функции, но никак не могу понять как она принимает какие-то значения. Вообще ни в какую. Почитал на форуме про рекурсию, ничего не понятно.

Пожалуйста, объясните, как работают рекурсивные функции как можно подробнее, и в частности, как работает рекурсия конкретно в этом коде. Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2013, 21:33
Ответы с готовыми решениями:

Определить на сколько квадратов, стороны которых выражены натуральными числами, можно разрезать данный прямоугольник
Стороны прямоугольника заданы натуральными числами М и N. Составить программу, которая будет...

На сколько квадратов можно разрезать данный прямоугольник
Помогите, пожалуйста, решить! Очень надо, но не знаю как их решать! 4. Стороны прямоугольника...

Определить, на сколько квадратов можно разрезать прямоугольник
Дан прямоугольник, длины которого заданы натуральными числами. На сколько квадратов, стороны...

На сколько квадратов можно разрезать данный прямоугольник
Задача. Стороны прямоугольника заданы натуральными числами M и N. Составьте программу, которая...

2
228 / 95 / 27
Регистрация: 16.04.2013
Сообщений: 315
Записей в блоге: 2
21.11.2013, 00:07 2
Если развернуть рекурсию.
C#
1
2
3
4
5
6
7
8
9
10
11
12
static public int cnt(int a, int b)
        {
            int s = 0;
            while (b != 0)
            {
                s += a / b;
                int t = b;
                b = a % b;
                a = t;
            }
            return s;
        }
реши задачу на листке и все станет понятно.
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
21.11.2013, 13:36 3
отрезаем от прямоугольника квадратики, в остатке получаем меньший прямоугольник, от него снова отрезаем квадратики ...
0
21.11.2013, 13:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2013, 13:36
Помогаю со студенческими работами здесь

На сколько квадратов можно разрезать данный прямоугольник?
Даны натуральные числа a и b, которые определяют стороны прямоугольника. На сколько квадратов,...

Определите, на сколько квадратов можно разрезать заданный прямоугольник
Стороны прямоугольника заданы натуральными числами A и B Определите, на сколько квадратов, стороны...

На сколько квадратов, выраженных натуральными числами можно разделить прямоугольник, если от него каждый раз отрезать максимально возможный по площади
пусть a,b - длины сторон прямоугольника,выраженные натуральными числами.На сколько квадратов,...

На какое максимальное количество квадратов можно разрезать прямоугольник
Короче есть кусок прямоугольный картона a*b. Дальше мы должны вырезать максимальные возможне...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru