Поделитесь своими знаниями, ответьте на вопрос:
Задачa. Дано ціле число - кількість повних днів, що минули з початку року. Скільки повних тижнів минуло за цей період? Який це день тижня, якщо початок року (1 січня) припало на понеділок (вивести число від 0 до 6, де 0 - неділя, 1 - понеділок .. 6 - субота Так було, наприклад, в 2019році. #include using namespace std; int main() { setlocale(LC_ALL, "rus"); int n; cout << "Введіть кількість повних днів, що минули з початку року n = "; cin >> n; cout << "Кількість повних тижднів - "<< n / 7< cout <<" Числа від 0 до 6, означають 0 - неділя, 1 - понеділок .. 6 - субота" < cout<< "\n День тиждня - " << n % 7<< endl; return 0; system("pause"); }
Данную задачу можно представить в виде графа для более наглядного решения (см. рисунок 2)
Здесь черные кружки - это пункты
Красные линии - это возможные пути перехода из одного пункта в другой
Если от одного пункта к другому нет линии, значит нельзя перейти о чем в таблице свидетельствует пустая клетка на перекрестье пунктов в таблице.
на рисунке 1 показано как найти расстояние от B до С или от С до B (направление не имеет разницы)
Для задачи с маленьким количеством пунктов (как в примере) можно воспользоваться простым перебором
следуя от пункта А к пункту Е, складывая длины переходов, тем самым можно найти наименьший.
Например (путь A-B-C-E)
2+1+2=5
путь A-D-C-E
1+3+2=5
пусть A-C-E
5+2=7
Отсюда мы видим что минимальный путь равен 5
Объяснение: