Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта
Вебинар «Мы начинаем PHP + Yii2» начнётся через 12 час. 07 мин.

Комбинаторика / Рекурсия. Общий делитель

  • На этом уроке мы пойдём в гости к роботу Шарпу.

    Задание:
    Решить задачу «Общий делитель».
  • Дата отправки отчёта: 8 февраля 2016 г.
  • Задание выполнено: за 20 мин.
  • Чему научился: Повторил алгоритм расчета НОД двух чисел с помощью алгоритма Евклида.
  • Что было сложным: Сложностей не было.
  • Комментарии: В условии было указано решить с помощью вычитания двух чисел, но один тест не проходил - причина была переполнение стека, проверил на Visual Studio. Переделал алгоритм, с использованием операции взятия остатка от деления - тест прошел.
  • Оценка видео-уроку:
Отчёт от 7276 за Комбинаторика / Рекурсия. Общий делитель




Оцени работу

 
Сохранить страницу:


1. Евгений Волосатов
Евгений Волосатов
ответить


Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Училась распознавать ошибки.
Трудности: Мой С# выдал ошибку Error CS0161 'Program.NOD(long, long)': not all code paths return a value и я так и не помяла какое именно значение и куда он не выдает=( пойду во сне осмысливать =) Но как бы сам алгоритм у меня и по мне был похож... только более размазневый=)
static int NOD (int a, int b) { if (a == b) return a; if (a > b) { a = a - b; return NOD(a, b); } if (b >a) { b = b - a; return NOD(a, b); } } как понять ошибку Error CS0161 'Program.NOD(long, long)': not all code paths return a value ?


Научился: Для решения этой задачи намного эффективнее использовать алгоритм Эвклида. А именно брать не разницу, а остаток от деления(можно посмотреть на скриншоте). Так как при алгоритме с разницой например с параметрами 1 1000000000 работа будет слишком долгой. Другое дело остаток от деления
Трудности: Сложностей не было