М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
katerinamorozo2
katerinamorozo2
13.09.2021 07:38 •  Информатика

Долгие сборы дон кихота подходили к концу, осталось только собрать амуницию и погрузить ее на повозки. в одну повозку влезает 3 мешка. в одном мешке умещается 4 набора доспехов, а в наборе доспехов ровно 4 предмета войны. в поход требуется n предметов войны. для того, чтобы ничего не потерялось, ему нужно запомнить сколько повозок едет с ним, сколько мешков придется везти его личному , сколько доспехов придется тащить его верному коню, и сколько предметов войны останется героически надеть на себя. естественно, дон кихот не признает растрату, и, если повозка, мешок или набор доспехов не собирается полностью, то ее он не считает. для лучшего понимания смотрите примеры.
формат ввода
одно число n ≤ 2 * 109 — количество предметов войны для похода.

формат вывода
4 числа — сколько полных повозок, полных мешков, полных наборов доспехов и вещей войны нужно запомнить.

пример 1
ввод вывод
30
0 1 3 2
пример 2
ввод вывод
14
0 0 3 2
примечания
30 предметов войны — это 0 повозок, 1 мешок, 3 набора доспехов и 2 предмета войны.

👇
Открыть все ответы
Ответ:
vbbbbb
vbbbbb
13.09.2021
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;

void main()
{
 srand(time(NULL));
 setlocale(0, "");
 int arr[17];
 int a, b, chet=0, nechet = 0;
cout << "Введите диапазон ." << endl << "Нижняя граница диапазона: "; cin >> a; cout << "Верхняя граница диапазона: "; cin >> b; cout << endl;
for (int i = 0; i < 17; ++i)
{
  arr[i] = a + rand() % (b-a+1);
  cout <<" "<<arr[i];
}
for (int i = 0; i < 17; ++i)
{
  if (arr[i] % 2 == 0) chet++;
 else nechet++;
} if (chet > nechet)
 cout << " \n Четных больше";
else if (nechet>chet)
 cout << "\n Нечетных больше";
else cout << "\n Одинаковое количество четных и нечетных";
 _getch();
}
4,7(37 оценок)
Ответ:
ponia
ponia
13.09.2021
Воспользуемся расширенной записью шестнадцатиричного числа в десятичной системе счисления. Тогда
3(a*16²+b*16+c)=b*16²+c*16+a;
767a=208b+13c; 59a=16b+c → a=(16b+c)/59  (1)
Здесь a,b,c - шестнадцатиричные цифры, имеющие десятичный эквивалент от 0 до 15.
Наложим ограничения. a и b не могут быть нулевыми, поскольку с них начинаются числа, а с может быть и нулем. При b=15 и c=15 значение a по формуле (1) не может быть больше (16*15+15)/59, что в целых числах дает 4.
Следовательно, нам надо подобрать такие b и c, чтобы a принимало значения от 1 до 4. Будем подставлять эти значения в (1).
1) При а=1 получаем (16b+c)/59=1 → 16b+c=59.
b=59/16=3 (нацело), c=59-16*3=11. Искомое число 13B₁₆
2) При а=2 получаем (16b+c)/59=2 → 16b+c=118.
b=118/16=7 (нацело), с=118-16*7=6. Искомое число 276₁₆

Аналогичным образом находим два остальных числа: 3B1₁₆ и 4EC₁₆

Замечание. Фактически, мы получаем числа 59х1, 59х2, 59х3, 59х4 и переводим их в шестнадцатиричную систему счисления, поскольку в формуле (1) в скобках записано представление расширенное представление шестнадцатиричного числа.
4,8(70 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ