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

Напишите код для задач на языке Python. 1. Определить, войдет ли в конверт с внутренними размерами a и b мм прямоугольная открытка размером с и d мм. Для размещения открытки в конверте необходим зазор в 1 мм с каждой стороны.

2. Вася пытается высунуть голову в форточку размерами a и b см. Приняв условно, что его голова — круглая диаметром d см, определить, сможет ли Вася сделать это. Для прохождения головы в форточку необходим зазор в 1 см с каждой стороны.

Как можно побыстрее !

Показать ответ
Ответ:
mashamasha221
mashamasha221
02.11.2021 18:40

using System;


class Program

{

private static int GetThird(int num)

{

var result = 0;

var kv = num * num;

if (num % 2 == 0)

{

for (var i = num / 2; i > 0; i--)

{

result += kv - i * 2 + 1;

}

for (var i = 0; i < num / 2; i++)

{

result += kv + i * 2 + 1;

}

}

else

{

for (var i = (num - 1) / 2; i > 0; i--)

{

result += kv - i * 2;

}

result += kv;

for (var i = 0; i < (num - 1) / 2; i++)

{

result += kv + i * 2 + 2;

}

}

return result;

}


//оптимизированное свое решение, коротко и ясно

private static int GetThirdOptimized(int num)

{

var result = 0;

var kv = num * num - num + 1;


for (var i = 0; i < num; i++)

{

result += kv + i * 2;

}


return result;

}


private static void Main()

{

Console.WriteLine("Введите натуральноe числo ");

var i = int.Parse(Console.ReadLine());

Console.WriteLine("{0}^3 = {1} = {2} = {3}", i, i * i * i, GetThird(i), GetThirdOptimized(i));

Console.Read();

}

}

0,0(0 оценок)
Ответ:
swatcamgg
swatcamgg
26.10.2020 08:45

#include <vector>

#include<iostream>

template <typename T>

inline void swap(T& arg1, T& arg2)

{

   T temp = arg1;

   arg1 = arg2;

   arg2 = temp;

};

template <typename T>

inline void merge(std::vector<T>& vArray, std::vector<T>& vTemp, int head, int middle, int tail)

{

   int tmp = 0, lower = head, upper = middle + 1;

 

   while (lower <= middle && upper <= tail)

   {

       if (vArray[lower] < vArray[upper])

       {

           vTemp[tmp++] = vArray[lower++];

       }

       else

       {

           vTemp[tmp++] = vArray[upper++];

       }

   }

 

   if (lower <= middle)

   {

       for (; lower <= middle; vTemp[tmp++] = vArray[lower++]);

   }

   else

   {

       for (; upper <= tail; vTemp[tmp++] = vArray[upper++]);

   }

 

   int arrayPointer = head;

   for (tmp = 0; arrayPointer <= tail; vArray[arrayPointer++] = vTemp[tmp++]);

}

template <typename T>

inline void merge_sort_helper(std::vector<T>& vArray, std::vector<T>& vTemp, int head, int tail)

{

   if (head == tail)

   {

       return;

   }

 

   int middle = (head + tail) / 2;

 

   merge_sort_helper(vArray, vTemp, head, middle);

   merge_sort_helper(vArray, vTemp, middle + 1, tail);

 

   merge(vArray, vTemp, head, middle, tail);

}

 

template <typename T>

void merge_sort(std::vector<T>& vArray)

{

   std::vector<T> v(vArray.size(), 0);

   merge_sort_helper(vArray, v, 0, vArray.size() - 1);

}

int main() {

   int n;

   std::cin >> n;

   std:: vector<int>vArray(n);

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

       std:: cin >> vArray[i];

   }

   merge_sort(vArray);

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

       std::cout << vArray[i]<<" ";

   }

}

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