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

4) В некоторой стране используют автомобильные номера, состоящие из двух частей: ровно двух букв из 10-буквенного алфавита и далее ровно трёх десятичных цифр.
Каждая часть кодируется отдельно минимально возможного количества
битов, одинакового для всех номеров. Какое минимальное количество байт
необходимо зарезервировать для хранения информации о 24 таких номерах?

👇
Открыть все ответы
Ответ:
umeson
umeson
04.09.2021

Примерно так. На псевдоязыке, который легко переводится в тот, который знаком

 

//

Сумм=0;

Конец=0;

 

Ввод(Ч);

Пока (Ч#Конец)  Цикл

        Если Проверить(Ч)=1 Тогда  

               Сумм=Сумм+Ч; 

       КонецЕсли;

      Ввод(Ч);

КонецЦикла;

 

Печать(Сумм);

//

 

//

Функция Проверить(П)

       Если Остаток(П,10)=4 Тогда

                Если Остаток(П,6)=0 Тогда

                         Возврат(1);

                КонецЕсли;

       КонецЕсли;

       Возврат(0);

КонецФункции

//

 

Этот текст не использует массивы, поэтому количество вводимых чисел неограничено. Их величина определяется описанием переменной(если в языке оно явно требуется, для приведенных данных достаточно описать как ЦЕЛОЕ(INTEGER)). Сумм описать побольше(если требуется).

Если в языке нет функции Остаток(обычно MOD), напиши свою, это очень просто.

Повторюсь, в Паскаль, Бейсик, 1С текст переводится очень легко, в С(Java, PHP и пр.) чуть сложнее, там немного другой синтаксис, но это преодолимые проблемы.

4,5(59 оценок)
Ответ:
Xtrail
Xtrail
04.09.2021
Procedure TForm1.Button1Click(Sender: TObject);
var
  i1,i2,i3 : Integer;
  m : array [1..10] of Integer;
  kk : Integer;
begin
  Memo1.Clear;
  for i1 := 1 to 10 do
  begin
    m[i1]:= Random(10)-5;
    Memo1.Lines.Append('m['+inttostr(i1)+'] = '+inttostr(m[i1]));
  end;
  Memo1.Lines.Append('');
  kk := 0;
  for i1 := 1 to 10-2 do
  begin
    for i2 := i1+1 to 10-1 do
    begin
      for i3 := i2+1 to 10 do
      begin
        if ( (m[i1]+m[i2]+m[i3])=0) then
        begin
          inc(kk);
          Memo1.Lines.Append('Индекс = '+inttostr(i1)+'  '+inttostr(i2)+'  '+inttostr(i3)+'      Значение = '+inttostr(m[i1])+'  '+inttostr(m[i2])+'  '+inttostr(m[i3]));
        end;
      end;
    end;
  end;
  Memo1.Lines.Append('');
  if kk>0 then
    Memo1.Lines.Append('Да в этом массиве есть три числа сумма которых равна нулю')
  else
    Memo1.Lines.Append('Нет в этом массиве три числа сумма которых равна нулю');
  Memo1.Lines.Append('Количество комбинаций = '+inttostr(kk));
end;


Дан массив из n целых чисел а1, а2, an. вам нужно проверить, есть ли в этом массиве три числа сумма
4,4(40 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ