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

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

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

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

    Задание:
    Решить задачу «Общий делитель».
  • Дата отправки отчёта: 11 декабря 2015 г.
  • Задание выполнено: за 30 мин.
  • Чему научился: рекурсия
  • Что было сложным: так и не понял свою ошибку, а робот ругается (
  • Комментарии: вроде всё верно, но один тест не прохожу, хм
  • Оценка видео-уроку:
Отчёт от 6458 за Комбинаторика / Рекурсия. Общий делитель




Оцени работу

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

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Илья  # Комбинаторика / Рекурсия. Общий делитель / 2015-12-12 11:04

Может надо тип long использовать?



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




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

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

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

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


Научился: Повторил алгоритм расчета НОД двух чисел с помощью алгоритма Евклида.
Трудности: Сложностей не было.
В условии было указано решить с помощью вычитания двух чисел, но один тест не проходил - причина была переполнение стека, проверил на Visual Studio. Переделал алгоритм, с использованием операции взятия остатка от деления - тест прошел.


Научился: Училась распознавать ошибки.
Трудности: Мой С# выдал ошибку 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 ?