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

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


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

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

10,20,30 = 10.

120 и 45 = 15.
...
Рейтинг: 0 / 0
06.08.2019, 14:22
    #39845873
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм нахождения минимального шага времени.
...
Рейтинг: 0 / 0
06.08.2019, 14:59
    #39845888
Erik_Kartmann
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм нахождения минимального шага времени.
Да! )
...
Рейтинг: 0 / 0
06.08.2019, 15:17
    #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
06.08.2019, 18:49
    #39846032
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм нахождения минимального шага времени.
дожили...
...
Рейтинг: 0 / 0
11.08.2019, 14:38
    #39847923
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм нахождения минимального шага времени.
hVosttдожили...
Что бы не плодить новые топики.
Как лучше реализовать следующий алгоритм?

Value1 * Value2 + Value1 * Value2

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

Value1 * ( Value2 + Value2)

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

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

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

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

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

Math2plus2.dll ))

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


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