Для школьников важен пятиразовое режим питания первый завтрак 20% Второй завтрак 15% обед 40% полдник 10% ужин 15% дневного рациона при этом приеме пищи по времени должны быть организованы ориентировочно в 7 10 13 16 7:30 часов Представте информацию в табличной форме!!
1) ответ выводится не списком, а просто отдельными числами через пробел
2) каждое повторяющееся число выводится несколько раз(столько, сколько встречается)
3) в конце вывода лишний пробел
Могу решить на пайтоне, если важно просто закрыть задачу. А так, судя по всему, решение только массивами требует более глубоких знаний(динамические массивы и векторы), чем есть у меня в с++. Возможно, сможете улучшить мое решение
(кинул бы в комментарии, но там ограничение на кол-во символов)
В двоичном числе каждый разряд справа налево представляет собой степень двойки. Первый разряд имеет 0 степень. Далее для остальных разрядов степень увеличивается, а для дробной части уменьшается. Для перевода в десятичную систему счисления нужно перевести все единицы в числе в соответствующие им степени двойки и сложить. Возьмём число 111011,001: Распишем по разрядам: 1 (-3 разряд) = 2^-3 = 1/8 0 (-2 разряд) 0 (-1 разряд) , 1 (1 разряд) = 2^0 = 1 1 (2 разряд) = 2^1 = 2 0 (3 разряд) 1 (4 разряд) = 2^3 = 8 1 (5 разряд) = 2^4 = 16 1 (6 разряд) = 2^5 = 32 Теперь нужно сложить полученные числа: 1/8 + 1 + 2 + 8 + 16 + 32 = 59.125 ответ: 111011,001(10) = 59.125(10)
#include <iostream>
using namespace std;
int main()
{
int N; cin >> N;
int list[N];
int a = 0;
while (a < N)
{
int n; cin >> n;
list[a] = n;
a ++;
}
int flag_2 = 0;
a = 0;
while (a < N)
{
int b = 0;
int flag = 0;
while (b < N)
{
if (list[a] == list[b])
{
flag ++;
flag_2 ++;
}
b ++;
}
if (flag > 1) cout << list[a] << " ";
a ++;
}
if (flag_2 <= N) cout << 0;
}
1) ответ выводится не списком, а просто отдельными числами через пробел
2) каждое повторяющееся число выводится несколько раз(столько, сколько встречается)
3) в конце вывода лишний пробел
Могу решить на пайтоне, если важно просто закрыть задачу. А так, судя по всему, решение только массивами требует более глубоких знаний(динамические массивы и векторы), чем есть у меня в с++. Возможно, сможете улучшить мое решение
(кинул бы в комментарии, но там ограничение на кол-во символов)
Первый разряд имеет 0 степень. Далее для остальных разрядов степень увеличивается, а для дробной части уменьшается.
Для перевода в десятичную систему счисления нужно перевести все единицы в числе в соответствующие им степени двойки и сложить.
Возьмём число 111011,001:
Распишем по разрядам:
1 (-3 разряд) = 2^-3 = 1/8
0 (-2 разряд)
0 (-1 разряд)
,
1 (1 разряд) = 2^0 = 1
1 (2 разряд) = 2^1 = 2
0 (3 разряд)
1 (4 разряд) = 2^3 = 8
1 (5 разряд) = 2^4 = 16
1 (6 разряд) = 2^5 = 32
Теперь нужно сложить полученные числа:
1/8 + 1 + 2 + 8 + 16 + 32 = 59.125
ответ: 111011,001(10) = 59.125(10)