Напишите код для задач на языке Python. 1. Определить, войдет ли в конверт с внутренними размерами a и b мм прямоугольная открытка размером с и d мм. Для размещения открытки в конверте необходим зазор в 1 мм с каждой стороны.
2. Вася пытается высунуть голову в форточку размерами a и b см. Приняв условно, что его голова — круглая диаметром d см, определить, сможет ли Вася сделать это. Для прохождения головы в форточку необходим зазор в 1 см с каждой стороны.
Как можно побыстрее !
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();
}
}
#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]<<" ";
}
}