vova00831
?>

Вывести на экран все числа делящиеся на 3 или на 7 в промежутке от 1 до 1000

Информатика

Ответы

qcrv15312

var i: integer;

begin

for i: =1 to 1000 do

if (i mod 3=0) or (i mod 7=0) then write(i);

end.

jakushkinn

random_device rd;

mt19937 eng(rd());

uniform_int_distribution<int> dist(1, 10);

 

int n;

int x;

cin >> n >> x;

 

vector<int> a(n);

for (auto& i : a)

 i = dist(eng);

 

copy(a.cbegin(), a.cend(), ostream_iterator<int>(cout, " "));

 

cout << '\n';

 

sort(a.begin(), a.end());

 

copy(a.cbegin(), a.cend(), ostream_iterator<int>(cout, " "));

 

cout << '\n';

 

if (binary_search(a.cbegin(), a.cend(), x)) {

 cout << x << " found";

} else {

 set<int> temp(a.cbegin(), a.cend());

 

 if (x < *temp.cbegin()) {

   cout << *temp.cbegin();

 } else if (x > *prev(temp.cend())) {

   cout << *prev(temp.cend());

 } else {

   auto f = lower_bound(a.cbegin(), a.cend(), x);

   auto s = upper_bound(a.cbegin(), a.cend(), x);

 

   if (f != a.cend() && s != a.cend()) {

     if (abs(*f - x) < abs(*s - x)) {

       cout << *f;

     } else {

       cout << *s;

     }

   } else if (f == a.cend() && s != a.cend()) {

     cout << *s;

   } else if (f != a.cend() && s == a.cend()) {

     cout << *f;

   }

 }

}

Кирилл-Морозова

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова. Коды, удовлетворяющие условию Фано, допускают однозначное декодирование.

Решение.

Для нахождения кодовых слов будем использовать двоичное дерево, в котором от каждого узла отходит две ветви, соответствующие выбору следующей цифры кода. Буквы будем размещать на конечных узлах дерева — листьях. Условие Фано выполняется, поскольку при проходе от корня дерева к букве в середине пути не встречается других букв.

Пример дерева, обеспечивающего минимальную сумму длин всех шести кодов изображено на рисунке.

 

 

Суммарная длина такого кода 1 + 2 + 3 + 4 + 5 + 5 = 20.

 

ответ: 20.

Объяснение:


По каналу связи передаются сообщения, содержащие только восемь букв: Г, Д, Е, С, О, Т, К, А; для пер

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вывести на экран все числа делящиеся на 3 или на 7 в промежутке от 1 до 1000
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

balabina-Olesya
Faed_Arakcheeva
nalekseeva62
Никита_Тузов
rublevaoe392
sergeychelyshev197618
alexfold
alexsan-0837
gorbelena1971
Igorevich1512
Vladimirovich Aleksandr1889
Ромеовна1527
Викторович Попков
Элементный состав объекта компьютер
Воздвиженская
chechina6646