В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

1. Опишите структуру clock, которую можно использовать для хранения значений времени в виде дней, часов, минут и секунд. Для этой структуры реализуйте следующие функции: clock tick(clock c); // увеличивает время на одну секунду
clock add(clock c1, clock c2); // складывает два времени
clock sub(clock c1, clock c2); // вычитает из одного времени другое
clock mult(unsigned m, clock c); // умножает время на число
void print(clock c); // выводит на экран время в виде дни : часы : минуты : секунды

Помните, что значения в переменных, хранящих минуты и секунды, должны находится в диапазоне от 0 до 59, а в переменной, хранящей часы, – от 0 до 23!

Показать ответ
Ответ:
cfvjktn8
cfvjktn8
23.07.2021 21:24
Насколько я понял нужно не всю дату, а только 2006 год написать.
Вот алгоритм, который это делает:

использовать Робот
алг
нач

|---2---
закрасить
вверх
закрасить
вверх
закрасить
вверх
вверх
закрасить
вправо
закрасить
вправо
закрасить
вниз
закрасить
вниз
закрасить
влево
закрасить
вправо
вниз
вниз
закрасить
влево
закрасить
вправо
вправо
вправо

|---0---
закрасить
вверх
закрасить
вверх
закрасить
вверх
закрасить
вверх
закрасить
вправо
закрасить
вправо
закрасить
вниз
закрасить
вниз
закрасить
вниз
закрасить
вниз
закрасить
влево
закрасить
вправо
вправо
вправо

|---0---
закрасить
вверх
закрасить
вверх
закрасить
вверх
закрасить
вверх
закрасить
вправо
закрасить
вправо
закрасить
вниз
закрасить
вниз
закрасить
вниз
закрасить
вниз
закрасить
влево
закрасить
вправо
вправо
вправо

|---6---
закрасить
вверх
закрасить
вверх
закрасить
вверх
закрасить
вверх
закрасить
вправо
закрасить
вправо
закрасить
вниз
вниз
закрасить
влево
закрасить
вправо
вниз
закрасить
вниз
закрасить
влево
закрасить
вправо
вправо
вправо

кон
0,0(0 оценок)
Ответ:
лола268
лола268
21.02.2021 14:48

Так как тут мизерные ограничения, то для решения конкретно этой задачи можно просто проифать : если n == 5 || n == 125 , то YES , иначе NO

НО мы же не пальцем деланные, да? Поэтому решим задачку и для больших N, с асимптотикой log2(N), используя бинпоиск :

#include < iostream >

#include < cmath >

using namespace std;

bool check(int n){

   int l = 0, r = 15;

   while(l <= r){

       int m = (l + r)/2;

       if(pow(5,m) < n)

           l = m + 1;

       else if(pow(5,m) > n)

           r = m - 1;

       else

           return true;

   }

   return false;

}

signed main() {

   int N;

   cin >> N;

   check(N) ? cout << "YES" : cout << "NO";

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота