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

Задача 3: Гвоздики В дощечку в ряд вбито 10 гвоздиков, таким образом, получилось 9 последовательных промежутков между ними. Длины промежутков (подряд, слева направо) оказались равны

7, 2, 8, 4, 3, 9, 5, 1, 6.

Между некоторыми соседними гвоздиками можно натянуть верёвочку, будем считать длину этой верёвочки равной длине промежутка. Вам необходимо привязать верёвочки так, чтобы к каждому гвоздику была привязана верёвочка хотя бы с одной стороны, при этом суммарная длина всех верёвочек была бы минимальной.

ответ запишите в виде последовательности из 9 чисел, равных 0 или 1. Число 0 означает, что в соответствующем промежутке нет верёвочки, число 1 означает, что в этом промежутке есть верёвочка.

Условие, что к каждому гвоздику привязана хотя бы одна верёвочка, означает, что в ответе нет двух нулей подряд, а также, что первым и последним символом ответа является 1.

Например, пусть в задании было дано 5 гвоздиков и 4 промежутка длиной 1, 2, 3, 4. Длина верёвочек будет минимальной, если привязать верёвочки в промежутках 1, 2 и 4. ответ тогда следовало бы записать в виде 1101.

👇
Ответ:
stenolaz19
stenolaz19
18.03.2023

Задача 3: Гвоздики

В дощечку в ряд вбито 10 гвоздиков, таким образом, получилось 9 последовательных промежутков между ними. Длины промежутков (подряд, слева направо) оказались равны

7, 2, 8, 4, 3, 9, 5, 1, 6.

Между некоторыми соседними гвоздиками можно натянуть верёвочку, будем считать длину этой верёвочки равной длине промежутка. Вам необходимо привязать верёвочки так, чтобы к каждому гвоздику была привязана верёвочка хотя бы с одной стороны, при этом суммарная длина всех верёвочек была бы минимальной.

ответ запишите в виде последовательности из 9 чисел, равных 0 или 1. Число 0 означает, что в соответствующем промежутке нет верёвочки, число 1 означает, что в этом пр

Объяснение:

4,7(53 оценок)
Открыть все ответы
Ответ:
Atax1a1
Atax1a1
18.03.2023

var


 i, si, N, ss: Integer;


 s: string;


begin


   Write ('Введите N: ');


   ReadLn (N);


   s := IntToStr (N);


   ss := 0;


   for i := 1 to Length (s) do begin


     si := StrToInt (s [i]);


     if si mod 4 <> 0 then


       ss := ss + si;


   end;


   Writeln ('Сумма цифр = ' + IntToStr (ss));


end.

// второй вариант решения

var

si, N, ss: Integer;

begin

Write ('Введите N: ');

ReadLn (N);

ss := 0;

while N > 0 do begin

si := N mod 10;

N := N div 10;

if si mod 4 <> 0 then

ss := ss + si;

end;

Writeln ('Сумма цифр = ' + IntToStr (ss));

end.

4,6(76 оценок)
Ответ:
tumenka140
tumenka140
18.03.2023

#include <iostream>

using namespace std;

int main() {

   string a,b;

   int m,k=0;

   cout<<"a = "; cin>>a;  

   cout<<"b = "; cin>>b;

   int ind=b.length();

   if (a.length()==b.length())

       while ((a[k]==b[k]) && (k<b.length()-1)) k++;

   for (int i=k; i<b.length()-1; i++) {

      if (b[i]==48) break;

      m=b[i+1]-48;

      if (i<b.length()-2) m--;

      if ((b[i]-48)*m < max((b[i]-49),1)*9) {

         if ((b[i]-49==0) && (i>0)) continue;                              

         ind=i+1; b[i]--; break;

      }  

   }                            

   for (int i=ind; i<b.length(); i++) b[i]='9';

   if (b[0]=='0') b.erase(0,1);

   cout<<b<<endl;

   system("pause");      

   return 0;

}

4,5(92 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ