Итак, нужно найти число групп, в каждой из которых ни одно из чисел не делит все остальные.
Строим группы так: (1) - 1 (2) - 2, 3, 5, 7, 11, 13... - все простые (3) - 4, 6, 9, 10, 14, 15... - произведения двух простых ... (k) - произведения (k - 1) простых
И так пока не кончатся все числа. Поскольку в каждой группе наименьшее число 2^(k - 1), то k - минимальное, для которого 2^(k - 1) > N
По построению явно во всех группах ни одно число не делится на другое. Осталось проверить, что получено минимальное число групп. Это очевидно: числа 1, 2, 4, ..., 2^(k-1) должны быть в разных группах.
Решение: n = int(input()) t = 1 k = 0 while t <= n: t *= 2 k += 1 print(k)
#include<iostream>
#include<cmath>
void main() {
char ch1, ch2;
int vol1, vol2;
std::cin >> ch1 >> vol1;
std::cin >> ch2 >> vol2;
if abs(ch1 - ch2) <= 2) && (abs(vol1 - vol2) <= 2)) && ((ch1 != ch2) && (vol1 != vol2))) && !((abs(ch1 - ch2)==1) && (abs(vol1-vol2))==1)) std::cout << "Possible";
else
std::cout << "Impossible";
}
3)
#include<iostream>
using namespace std;
void main() {
int n,m;
cin >> n,m;
cout<<n;
for(int i=n;i<=m;i++)
cout<<i+2;
}
4)
#include <iostream>
using namespace std; void main(){
int mass[2][4] //размерность своего массива вписывай.
{
{ 1, 2, 3, 4 }, //вписывай свои числа.
{ 1, 2, 3, 4 }
};
for (int i=0 ; i<2;++i)
{
for (int j=0 ; j<4;++j)
{
if(mass[i][j]<0)
cout<<mass[i][j];
}
}
system("pause");
}