powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / алгоритм нахождения минимального шага времени.
17 сообщений из 17, страница 1 из 1
алгоритм нахождения минимального шага времени.
    #39845863
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, где спросить, пусть будет тут.
допустим есть два расписания. Первое с шагом в пол часа, второе в 15 минут.
минимальный ШАГ ГРАФИКА ( НАТУРАЛЬНОЕ ЧИСЛО!!! ), чтобы поместились оба интервала- будет по 15 минут (картинка).

Для интервалов по 15 минут и по 20 минут так, чтобы уместились оба интервала - шаг будет 5 минут.
Я не знаю, на картинке будет понятнее.


Вот по какой формуле вычислять эти интевалы?
допустим если интервалы по 7, 14, 21 минут- шаг будет 7.

5 и 8 = 1 (берём только целые числа).

10,20,30 = 10.

120 и 45 = 15.
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39845873
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39845888
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да! )
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39845898
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кому надо. Реализация не моя.

Код: 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.
        [TestMethod]
        public void GetNOD()
        {
            int gcd = retNOD(new int[] { 5, 8 });

            Assert.IsTrue(gcd==1);

            gcd = retNOD(new int[] { 120, 45 });

            Assert.IsTrue(gcd == 15);
        }

        int retNOD(int[] array)
        {
            int gcd = Gcd(array[0], array[1]);
            for (int i = 2; i < array.Length; i++)
                gcd = Gcd(gcd, array[i]);

            return gcd;
        }

        int Gcd(int a, int b)
        {
            return a > 0 ? Gcd(b % a, a) : b;
        }
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39846032
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дожили...
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39847923
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
hVosttдожили...
Что бы не плодить новые топики.
Как лучше реализовать следующий алгоритм?

Value1 * Value2 + Value1 * Value2

Я пока придумал так

Value1 * ( Value2 + Value2)

но может быть есть лучшие решения?
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39848017
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно есть.
Value2 тоже можно вынести за скобку! Это же очевидно!

Value1 * Value2 * (1 + 1)
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39848022
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще Value1 * Value2 * 2

PS А вы к чему второй класс школы вспомнили? Может первый надо сначала повторить? 2+2 и т.п.
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39848179
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,

Ща, у меня где-то была ссылка на библиотеку, решающую эту задачу....
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39848191
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЩа, у меня где-то была ссылка на библиотеку, решающую эту задачу....
https://github.com/mathnet/mathnet-numerics ?
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39848195
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Math2plus2.dll ))
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39848359
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо бы фейк создать для таких вопросов )
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39848378
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а если шаг, к примеру, 20 минут, а начало графика в 8:50 - то алгоритм нарушается.
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39848380
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или с 8:50, но шаг 30 минут. должно биться по 10 минут, а бьётся по 30
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39849003
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttShocker.Pro,

Math2plus2.dll ))

классная библиотека. для всех колец полей и т.п. алгебры работает?
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39849023
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik_Kartmannили с 8:50, но шаг 30 минут. должно биться по 10 минут, а бьётся по 30
Попробуйте найти нод для 3 чисел: периодом расписания 1 , периодом расписания 2, модулем разницы старта расписаний
...
Рейтинг: 0 / 0
алгоритм нахождения минимального шага времени.
    #39849087
Erik_Kartmann
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что за модуль?
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / алгоритм нахождения минимального шага времени.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]