Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2018, 13:30   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
мой алгоритм оптимальнее
полностью с Вами согласен.
но у Вас 12 итераций, у меня 52. За сколько на процессоре выполнится 52 шага с двумя условными операторами и несколькими инкрементами целых чисел?
Сколько составит выигрыш в долях секунды?
Хотя, конечно, ваш алгоритм лучше.



Цитата:
Сообщение от pu4koff Посмотреть сообщение
и я дал человеку удочку, а не рыбу
это так. плохо, что ему удочка не нужна, ему бы рыбку съесть и уйти.
Вот не собирается он рыбной ловлей заниматься, судя по всему...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.03.2018, 16:25   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Можно и формулой без цикла. Например для не високосного года
Код:
function CalcDays(FirstDayOfWeek,FindDayOfWeek,DayOfMonth: Integer): Integer;
//FirstDayOfWeek [1..7] - день недели 1 января, 1 - понедельник
//FindDayOfWeek [1..7] - день недели для числа DayOfMonth [1..31]
var k: Integer;
begin
  if DayOfMonth<=28 then begin
    case (DayOfMonth-FindDayOfWeek+FirstDayOfWeek+7) mod 7 of
    1,2,3: Result:=2;
    0,4,6: Result:=1;
    else Result:=3;
    end;
  end
  else begin
    k:=FindDayOfWeek-FirstDayOfWeek;
    if k<0 then Inc(k,7);
    case DayOfMonth of
    29: if k in [1,2,4] then Result:=1 else Result:=2;
    30: if k in [2,3,5] then Result:=1 else Result:=2;
    else case k of
         2: Result:=2;
         6: Result:=0;
         else Result:=1;
         end;
    end;
  end;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.03.2018, 17:00   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Можно и формулой без цикла.
Это вообще магия какая-то! O_o
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.03.2018, 18:43   #14
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
злые ленивые дядьки-программисты его жестоко обманули
Сволочи убили обманули Кенни
Цитата:
Сообщение от pu4koff Посмотреть сообщение
и я дал человеку удочку, а не рыбу
И теперь он сдаст её в аренду, деньги пустит на подкуп ДВ Росрыболовства и станет рыбным губернатором!
СтудПом вне форума Ответить с цитированием
Старый 27.03.2018, 02:14   #15
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
p.s. а какую формулу Вы имеете в виду? Может быть, я чего-то не знаю или просто неправильно Вас понял?
Ну, я это имел в виду:
https://en.wikipedia.org/wiki/Determ...cal_algorithms

А смысл определять день недели в отрыве от полной даты?

А вообще, у ТС задача какая-то простая, оказывается.
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структура элемента массива «пассажир»: фамилия, номер рейса, багаж - количество вещей, общий вес. Определить число пассажиров, кол Masha Koks Помощь студентам 3 26.11.2013 19:00
В последовательности определить сумму чисел,их количество,максимальное и минимальное число с их порядковыми номерами (QBasic) Лена1308 Помощь студентам 3 14.12.2011 22:20
В последовательности определить сумму чисел,их количество,максимальное и минимальное число с их порядковыми номерами (QBasic) Лена1308 Помощь студентам 0 01.12.2011 21:19
Как подсчитать количество дней недели в году? delphiboy Microsoft Office Excel 6 28.02.2010 04:39
Ввести число N и определить делится ли оно без остатка на число M (VBA) Ivanich Microsoft Office Excel 7 24.04.2008 19:43