В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
07090702
07090702
21.01.2021 07:44 •  Информатика

7". Складіть проєкт, у якому виконавець малює рівносторонні трикутники, розмі- щені один в одному, якщо довжина сторони першого з них дорівнює а кроків,
а довжина сторін кожного наступного на 20 кроків менша від довжини сторін
попереднього, поки довжина сторони не стане менша від 20 кроків.​

Показать ответ
Ответ:
lenaguceva
lenaguceva
29.11.2020 16:56

для нахождения НОДа не мало, не буду углубляться во всякие сложные алгоритмы, так как вряд ли Вы их проходите.

Сравним перебор и алгоритм Евклида, сразу можем сказать, что алгоритм Евклида в разы быстрее, так как при переборе мы тупо перебираем значения, то есть, данный алгоритм зависит от величины числа очень сильно. Конечно, алгоритм Евклида также зависит от введенного числа, однако, в нём будет намного меньше повторений, нежели в с перебором.

Можем глянуть немного статистики:

Генерируется 500 пар чисел

Перебор - 0.5022 с

Алгоритм Евклида - 0.0008

Теперь мы точно можем сделать вывод, что алгоритм Евклида в разы быстрее простого перебора.

0,0(0 оценок)
Ответ:
loikomatveico
loikomatveico
29.07.2021 11:43

Объяснение:

#include <iostream>

#include <vector>

using namespace std;

int main()

{

   setlocale(LC_ALL, "RU");

   int N;

   cin >> N;//массив на N элементов

   vector<int>a;

   for (int i = 0; i < N; i++)

       a.push_back(rand()%100);// заполнение массива числами от 0 до 100

   for (int i = 0; i < N; i++)

       cout << a[i] << " ";

   cout << endl;

   bool flag=false;

   int number;

   for (int i = 0; i < N; i++) {

       auto r = find(a.begin(), a.end(),a[i]);// функция стандартной библиотеки для поиска

       if (r != a.end()&&r-a.begin()!=i)

       {

           number = r - a.begin();// номер элемента массива с одинаковым значением

           flag = true;

           break;

       }

   }

   if (flag)

       cout <<"В массиве присутствуют элементы с одинаковыми значениями. Одним из равных значений является: "<<a[number];

   else

       cout << "В массиве не присутствуют элементы с одинаковыми значениями";

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота