Забор состоит из N одинаковых вертикальных досок. Некоторые из досок сгнили и нуждаются в замене, для каждой доски известно, нужно ли её заменить. Для ремонта забора можно использовать продающиеся в магазине щиты, которые бывают L разных видов: шириной в 1 доску, в 2 доски, ..., в L досок. Щит нельзя разрезать на части, то есть одним щитом можно заменить не более любых L подряд идущих досок. При этом можно менять не только сгнившие доски, но и хорошие.
Оказалось, что все щиты стоят одинаково, независимо от размера щита. Определите, какое наименьшее число щитов необходимо приобрести, чтобы починить весь забор.
Входные данные Первая строка входных данных содержит целое число L (L > 0) – максимальный размер щита. Во второй строке входных данных записано целое число N (N > 0) – количество досок в заборе. Следующие N строк содержат по одному числу, равному 0 или 1. Число 1 обозначает, что соответствующая доска в заборе нуждается в замене, число 0 – что доска может быть сохранена.
Выходные данные Программа должна вывести одно целое число – минимальное число щитов, которое необходимо приобрести для ремонта всего забора.
int main(void){ int a, b, c, d, first_result, second_result; printf("Введите первую пару чисел: "); scanf("%d, %d", &a, &b); a = min(a, b); printf("Наименьшее число из первой пары = %d\n", a); printf("Введите вторую пару чисел: "); scanf("%d, %d", &c, &d); c = min(c, d); printf("Наименьшее число из второй пары чисел = %d\n", c); a = max(a, c); printf("Максимальное число из двух наименьших = %d\n", a); return 0; }
int max(int temp1, int temp2){ if (temp1 > temp2) return temp1; else return temp2; }
int min(int temp1, temp2){ if (temp1 < temp2) return temp1; else return temp2; }
1,44 мегабайта влезет 2 книги в емкость в 700 мегабайт влезет 1 019 книг в емкость 4.7 гб влезет 7 009 книг
теперь решение всего в этой книге 720 000 символов. то есть 60 символов умножаем на 40 и умножаем на 300, будет 720 000 потом 1 символ равен 8 битам, то есть 720 000 умножаем на 8 будет 5 760 000 бит. 1 байт = 8 бит(ам) 1 клбайт = 1024 байта 1 мгбайт = 1024 клбайта 1 гигабайт = 1024 мгбайта переводим 5 760 000 / 1024 = 720 00 байт 720 000 байт делим на 1024 получаем 703.125 клбайт 703.125 / 1024 = 0,6866455078125 мегабайт теперь делим 1,44 на 0,6866455078125 получаем 2.097152 (2 книги) потом 700 мб делим на 0,6866455078125 получаем 1 019 книг 1 гигабайт равняется 1024 мегабайта, 4.7 умножаем на 1024 получаем 4 812,8 мегабайт, и делим 4 812, 8 мб на 0,6866455078125 и получаем 7 009 книг.
int max(int temp1, int temp2);
int min(int temp1, int temp2);
int main(void){
int a, b, c, d, first_result, second_result;
printf("Введите первую пару чисел: ");
scanf("%d, %d", &a, &b);
a = min(a, b);
printf("Наименьшее число из первой пары = %d\n", a);
printf("Введите вторую пару чисел: ");
scanf("%d, %d", &c, &d);
c = min(c, d);
printf("Наименьшее число из второй пары чисел = %d\n", c);
a = max(a, c);
printf("Максимальное число из двух наименьших = %d\n", a);
return 0;
}
int max(int temp1, int temp2){
if (temp1 > temp2)
return temp1;
else
return temp2;
}
int min(int temp1, temp2){
if (temp1 < temp2)
return temp1;
else
return temp2;
}
в емкость в 700 мегабайт влезет 1 019 книг
в емкость 4.7 гб влезет 7 009 книг
теперь решение
всего в этой книге 720 000 символов. то есть 60 символов умножаем на 40 и умножаем на 300, будет 720 000
потом 1 символ равен 8 битам, то есть 720 000 умножаем на 8 будет 5 760 000 бит.
1 байт = 8 бит(ам)
1 клбайт = 1024 байта
1 мгбайт = 1024 клбайта
1 гигабайт = 1024 мгбайта
переводим 5 760 000 / 1024 = 720 00 байт
720 000 байт делим на 1024 получаем 703.125 клбайт
703.125 / 1024 = 0,6866455078125 мегабайт
теперь делим 1,44 на 0,6866455078125 получаем 2.097152 (2 книги)
потом 700 мб делим на 0,6866455078125 получаем 1 019 книг
1 гигабайт равняется 1024 мегабайта, 4.7 умножаем на 1024 получаем 4 812,8 мегабайт, и делим 4 812, 8 мб на 0,6866455078125 и получаем 7 009 книг.