Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вычислить количество пятниц, приходящихся на 13-е 
:(
    Опции темы
dyachenco
  Дата 6.10.2011, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.9.2011

Репутация: нет
Всего: нет



Вычислить количество пятниц, приходящихся на 13-е числа
а) ХХ cториччя;
в) столетие с номером n, где n-данное натуральное число.
Нужно делать на С++ или С

Буду благодарен за любую помоч.



#include <stdio.h>
#include <conio.h>
#include <math.h>
int main(void)

{
int m,y,c,s,n=0;

printf("Vvedite ctoletie\n");
scanf("%d",&c);
c--;
for(y=0; y<100; ++y)
for(m=1; m<=12; ++m)
{
s=fmod(((2.6*m-0.2)+13+y+fmod(y,4)+fmod(c,4)-2*c),7);
if (s==5) n++;
}
printf("V etom stoletie %d piatnitc 13",n);
getch();
}



Вот что получилось но поч не работает.


Это сообщение отредактировал(а) dyachenco - 8.10.2011, 15:09
PM MAIL   Вверх
volatile
Дата 6.10.2011, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Это смотря какой календарь...
Для 20 века еще можно предположить что будет григорианский, (хотя даже и он в России начался при юлианском), а для 18 века, или скажем 11 века, какой календарь использовать?

Так-что уточните задание, и с уточненным прямиком в центр помощи!

Это сообщение отредактировал(а) volatile - 6.10.2011, 00:32
PM MAIL   Вверх
dyachenco
Дата 6.10.2011, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.9.2011

Репутация: нет
Всего: нет



Цитата(volatile @ 6.10.2011,  00:30)
Это смотря какой календарь...
Для 20 века еще можно предположить что будет григорианский, (хотя даже и он в России начался при юлианском), а для 18 века, или скажем 11 века, какой календарь использовать?

Так-что уточните задание, и с уточненным прямиком в центр помощи!

Уточнять нечего.Дано завдання а календар на взгляд выбрать какой лутше подойдьот. smile 
PM MAIL   Вверх
volatile
Дата 6.10.2011, 01:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Цитата(dyachenco @  6.10.2011,  01:33 Найти цитируемый пост)
Дано завдання а календар на взгляд выбрать какой лутше подойдьот.

Хорошо. Выбираем календарь древних майя. У них пятниц не было.
Решение:
std::cout << 0;

PM MAIL   Вверх
Cheloveck
Дата 6.10.2011, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 5
Всего: 32



Цитата(dyachenco @  6.10.2011,  01:21 Найти цитируемый пост)
Буду благодарен за любую помоч. 

Держи, коли за любую...

По теме. Что конкретно не понятно? Что уже пробовал и что не получилось? Решать всё за тебя никто не будет.


--------------------
user posted image
PM Jabber   Вверх
dyachenco
Дата 6.10.2011, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.9.2011

Репутация: нет
Всего: нет



Цитата(volatile @ 6.10.2011,  01:44)
Цитата(dyachenco @  6.10.2011,  01:33 Найти цитируемый пост)
Дано завдання а календар на взгляд выбрать какой лутше подойдьот.

Хорошо. Выбираем календарь древних майя. У них пятниц не было.
Решение:
std::cout << 0;

Неплохая идея,друг, но ето глупо. Нужна прога которая дело делать будет а не  std::cout << 0;

Добавлено через 54 секунды
Цитата(Cheloveck @ 6.10.2011,  01:49)
Цитата(dyachenco @  6.10.2011,  01:21 Найти цитируемый пост)
Буду благодарен за любую помоч. 

Держи, коли за любую...

По теме. Что конкретно не понятно? Что уже пробовал и что не получилось? Решать всё за тебя никто не будет.

Конкретно я незнаю з чего начать.

PM MAIL   Вверх
Cheloveck
Дата 6.10.2011, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 5
Всего: 32



Цитата(dyachenco @  6.10.2011,  02:52 Найти цитируемый пост)
я незнаю з чего начать.

Начать надо с первого января, вестимо. Далее высчитываешь, исходя из дня недели первого января, все тринадцатые числа и проверяешь их дни недели. Количество дней в месяце можно посмотреть в календаре. Есть пара исключений. Все года кратные 100 не являются високосными, за исключением годов кратных 400.


--------------------
user posted image
PM Jabber   Вверх
borisbn
Дата 6.10.2011, 08:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



http://liveworkspace.org/code/b000f10fa4af...8994166ca4de766

Это сообщение отредактировал(а) borisbn - 6.10.2011, 09:26


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
fish9370
Дата 6.10.2011, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 1
Всего: 1



Цитата(volatile @  6.10.2011,  01:44 Найти цитируемый пост)
Выбираем календарь древних майя. У них пятниц не было.


а что у них было? трехдневка?


--------------------
undefined
PM MAIL WWW ICQ   Вверх
boostcoder
Дата 6.10.2011, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(fish9370 @  6.10.2011,  09:31 Найти цитируемый пост)
трехдневка?

да. в понедельник выходной. во вторник готовились к работе. в среду готовились к выходному. ничего лишнего.
PM WWW   Вверх
math64
Дата 6.10.2011, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 12
Всего: 72



Цитата(fish9370 @  6.10.2011,  09:31 Найти цитируемый пост)
а что у них было? трехдневка? 

У них была 20-дневка
месяц = 20 дней
год = 18 месяцев (из 360 дней)
20 лет
400 лет
8000 лет - полный цикл, по окончании которого, как некоторые думают, наступит конец света.
PM   Вверх
ShadowC
Дата 6.10.2011, 16:41 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 23.6.2011

Репутация: нет
Всего: нет



мне кажется в этой задаче надо предположить что год начинается 1-го января,1-ое января это понедельник,хотя для частоты эксперемента можно вывести первый день как 1+rand()%7, а дальше уже исходить из этого как я полагаю 3 цикла,1-й-год ,2-й месяц,3-й неделя и если получается так что в третьем цикле 5 итерация совпадет с 13-й итерацией во втором то увеличить счетчик,если время будет напишу как это все будет...

мне вот только интересно, надо предпологать что каждый 4-ий год весокосный или нет? 

P.S. для счетчика месяцев можно использовать 13-ти элементный массив,в котором в каждом элементе будет хранится колличество дней определенного месяца 

Это сообщение отредактировал(а) ShadowC - 6.10.2011, 16:56
PM MAIL   Вверх
math64
Дата 6.10.2011, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 12
Всего: 72




ShadowC,
borisbn уже предложил вариант решения - даже перебором отработает достаточно быстро.
Там перебираются 1901 - 1999 годы, но изметить с какого по какой год перебирать несложно.
Если хочешь сопимизировать, учитывай следующее:
Имеется 14 вариантов календаря в зависимости дня недели (7 вариантов невисокосного года, 7 вариантов високосного года)
Для каждого варианта вычисляешь число пятниц, 13
Варианты повторяются с периодом 28 лет (невисоконые варианты встречаются по 3 раза, високосные по одному разу)
Но цикл сбивается когда последний код столетия (XIX век =>1801- 1900 годы, XX => 1901-2000, XXI => 2001-2100) не делится на 400.


PM   Вверх
borisbn
Дата 6.10.2011, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(ShadowC @  6.10.2011,  16:41 Найти цитируемый пост)
1-ое января это понедельник

чойта?

Цитата(ShadowC @  6.10.2011,  16:41 Найти цитируемый пост)
мне вот только интересно, надо предпологать что каждый 4-ий год весокосный или нет? 

если в "человеческой"/"нормальной" логике это так (хотя не совсем - нужно учитывть ещё каждый 100-й а каждый 400-й - http://support.microsoft.com/kb/214019), то почему программа должна это игнорировать ?

Цитата(ShadowC @  6.10.2011,  16:41 Найти цитируемый пост)
для счетчика месяцев можно использовать 13-ти элементный массив,

ты не поверишь, но в году 12  месяцев. Уж поверь

Это сообщение отредактировал(а) borisbn - 6.10.2011, 22:37


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
volatile
Дата 6.10.2011, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



удалил. для ТС и этого выше крыши...

Это сообщение отредактировал(а) volatile - 6.10.2011, 23:58
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0545 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.