В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
лимпоьип
лимпоьип
24.09.2021 13:46 •  Информатика

На стандартном 120 миллиметровом однослойном dvd+r диске количество дорожек доступных для записи составляет

Показать ответ
Ответ:
участник78
участник78
20.02.2023 06:04

Так как речь идет о таблице, то лучше перебрать рекурсивно. Логично , что количество путей для клетки (i,j) - это количество путей для правой соседней клетки + количество путей для нижней соседней клетки.

При таком условии мы будем посещать те же клетки слишком часто, однако значение для них меняться не будет. Имеет смысл вычислить их единожды и запомнить для последующих использований. (На самом деле, достаточно иметь буфер вместимостью всего в 6 элементов, но мы сделаем полное запоминание).

(Иллюстрация 3 - таблица кэша)

Иллюстрации кода и возможного вывода прикреплены в дополнительных материалах.

========================

Ваши оценки и отзывы позволяют лучше оценить качество ответа.

Если ответ удовлетворил, не забудь отметить его как "Лучший".

Успехов в учёбе!

========================

Код:

cache = {}

def calculate_max_way_price(x: int, y: int, m:int, n:int):

   if (x, y) in cache:

       return cache[(x, y)]

   x_way, y_way = 0, 0

   if x < m - 1:

       x_way = calculate_max_way_price(x + 1, y, m, n)

   if y < n - 1:

       y_way = calculate_max_way_price(x, y + 1, m, n)

   if x == m - 1 and y == n - 1:

       cache[(x, y)] = 1

       return 1

   cache[(x, y)] = x_way + y_way

   return x_way + y_way

N = int(input("Enter N value: "))

M = int(input("Enter M value: "))

print(calculate_max_way_price(0, 0, N, M))


Количество маршрутов в прямоугольной таблице В прямоугольной таблице N×M вначале игрок находится в л
0,0(0 оценок)
Ответ:
cheacher
cheacher
20.02.2023 06:04

Метод CountNumbersAfterDot() реализует вычисления количества цифр после запятой.

Метод ChekNumber() - обёертка для вызова метода, передающая аргумент и результат на старндартный вывод.

Иллюстрации кода в закреплённых материалах. Сам код - ниже.

=======================

Оценки и отзывы лучше оценить качество ответа.

Если ответ удовлетворил, отметь его как "Лучший".

=======================

Код:

using System;

using System.Text.RegularExpressions;

namespace CountNumbersAfterTheDot

{

   public static class Somebody

   {

       public static void Main()

       {

           CheckNumber("2.1563");

           CheckNumber("11.11.11");

           CheckNumber("");

           CheckNumber("15");

       }

       private static Result<int> CheckNumber(string number)

       {

           var checkResult = CountNumbersAfterDot(number);

           Console.WriteLine($"{number} :- {checkResult}");

           return checkResult;

       }

       private static Result<int> CountNumbersAfterDot(string number) {

           var numberTemplate = new Regex(@"[+-]?^\d+(.\d+)?$");

           if (numberTemplate.IsMatch(number))

           {

               var dotPosition = number.LastIndexOf(".", StringComparison.Ordinal);

               return dotPosition == -1 ? Result<int>.CreateResult(0) : Result<int>.CreateResult(number.Length - dotPosition - 1);

           }

           

           else

           {

               return Result<int>.CreateError($"[{number}] is not a number!");

           }

       }

   }

   

   public class Result<T> {

       public T Data { get; }

       public string Error { get; }

       public bool Success => string.IsNullOrEmpty(Error);

       private Result(T data, string error)

       {

           Data = data;

           Error = error;

       }

       public static Result<T> CreateResult(T data)

       {

           return new Result<T>(data, null);

       }

       public static Result<T> CreateError(string error)

       {

           error = string.IsNullOrWhiteSpace(error) ? "Error!" : error;

           return new Result<T>(default(T), error);

       }

       public override string ToString()

       {

           return Success ? Data.ToString() : Error;

       }

   }

}


C#. Как получить количество цифр, идущих после запятой? Например, 2.1563 - 4 цифры после запятой, 15
C#. Как получить количество цифр, идущих после запятой? Например, 2.1563 - 4 цифры после запятой, 15
C#. Как получить количество цифр, идущих после запятой? Например, 2.1563 - 4 цифры после запятой, 15
C#. Как получить количество цифр, идущих после запятой? Например, 2.1563 - 4 цифры после запятой, 15
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота