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

2. два числа вводятся двоичным представлением своих цифр,причём первое содержит не более 72 двоичных знаков,а второе,меньшее - не более 14. проверить делится ли первое число на второе . пример 1: пример 2: исходные данные исходные данные 111001110001110001111 1111111 11100101000111000111111111110 ответ делится ответ не делится объясните подробно,как решать такие (с подробным решением),какие ответы должны получится я написала. надеюсь на вашу .

👇
Ответ:
zoobe1
zoobe1
18.06.2020
У вас неправильно даны исходные данные, но я их уже исправил.
В 1-ом примере:
делятся ли 11100111000111000111111111 : 111?
Во 2-ом примере:
делятся ли 1110010100011100011111111 : 1110?

1-ый пример:
Переводим из десятичной в двоичную
11100111000111000111111111 {2} = 60584447 {10}
111 {2} = 7 {10}
60584447 делится на 7 (можете сами проверить на калькуляторе), а это значит что исходные двоичные числа тоже делятся.

Также, чтобы проверить делимость числа на 111, или на cемь в десятичной системе, нужно разбить число на подгруппы, состоящие из трех чисел, и просуммировать их, если полученная сумма делится на 111, то и начальное число тоже делится
Примеры:
1) Делится ли 10001100 на 111.
100 + 011 + 000 = 111.
ответ: делится
2) Делится ли 001010100111 на 111.
001 + 010 + 100 + 111 = 1110 (допишем к этому числу необходимое количество нулей, и еще раз просуммируем)
1110 = 111000
111 + 000 = 111
ответ: делится

2-ой пример:
1110010100011100011111111 {2} = 30030079 {10}
1110 {2} = 14 {10}
30030079 уже не делится на 14, понятно,что и исходные двоичные числа не делятся

Это можно проверить и другим Число делится на 14, только если оно делится на 7, и на 2. Проверка делимости на 7 уже известна, а для проверки делимости на 2, нужно просто проверить делится ли на него последняя цифра числа. Например, 936 делится на 2, так как 6 делится. В двоичной системе надо взять первые 4 разряда и проверить их делимость на 0010.
Пример:
0101 0110 1010 : 1110?
010 + 101 +101 + 010 = 1110
111 + 000 = 111 => Это число делится на 7, или 111 в двоичной.
Теперь проверим делимость на два. Возьмем первые 4 разряда - 1010.
1010 {2} = 10 {10}
10 делится на 2.
ответ: раз число делится на 7, и на 2, то оно делится и на 14, то есть на 1110 {2}.
4,4(34 оценок)
Открыть все ответы
Ответ:
gyon
gyon
18.06.2020

#include <iostream>

#include <vector>

using namespace std;

// глобальные переменные

const int arraySize = 10;

vector <int> numbers;

// сам алгоритм.

void result(){

   

 // совет - обьявляй все переменные в начале функции  

 int leader = 0;

 

 int maxCount = 0;

 int count = 0;

 

 

 // поиск самого частого числа

 for (int c = 0; c < 9;c++){

     // обнуляем счетчик

     count = 0;

     

     for (int c1 = 0;c1 < arraySize;c1++){

         if (numbers[c1] == c) count++;

     }

     

     // проверка на лидера

     if (maxCount < count){

         leader = c;

         maxCount = count;

     }

 }

 

 

 // ну..с посмотрим:

 cout << "Leader: " << leader << " (" << maxCount << ") " << std::endl;

}

int main()

{

   // подготовка масива

   srand(time(NULL)); // обнулем внутрений таймер для полного рандома

   for (int c = 0; c < arraySize;c++) {

       numbers.push_back(rand() % 9); // заполняем масив числами

   }

   // посмотрим на оригинальный масив

   cout << "Original array: ";

   for (int c = 0;c < arraySize;c++) cout << numbers[c] << " ";

   cout << std::endl;

   // сортировка

   result();

   return 0;

}

Объяснение:

Хорошая книга по с++: Герберт Шилд - с++ базовый курс.

4,5(96 оценок)
Ответ:
winx237
winx237
18.06.2020
//PascalABC.NET 3.1 сборка 1239
const
    n = 10;
    m = 10;

var
    i, j: integer;
    a, b: array[1..n, 1..m] of integer;
    f: boolean;

begin
    for i := 1 to n do
    begin
        for j := 1 to m do
        begin
            a[i, j] := random(50);
            write(a[i, j]:3, ' ');
        end;
        writeln;
    end;
    writeln;
    
    for i := 1 to n do
    begin
        f := false;
        for j := 1 to m do
        begin
            if not f and (a[i, j] mod 2 = 1) then begin
                a[i, j] := 2 * a[i, j];
                f := true;
            end;
            write(a[i, j]:3, ' ');
        end;
        writeln;
    end;
end.
4,4(65 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ