я просто ищу все простые числа в диапазоне от 1 до n с решето эратосфена, а далее просто сравниваю вектор с простыми числами.
мой пример решения:#include
#include
using namespace std;
int main()
{
int n;
cin > > n;
vector prime (n+1, true);
prime[0] = prime[1] = false;
for (int i=2; i*i< =n; ++i)
if (prime[i])
for (int j=2; j< =n/i; j++)
if (prime[i*j]) prime[i*j] = false;
for(int i = 0; i < prime.size(); ++i)
{
for(int j = i; j < prime.size(); ++j)
{
if(prime[i]& & prime[j])
if(i+j==n)
cout < < i < < " " < < j < < endl;
}
}
cin.get();
cin.get();
}
я просто ищу все простые числа в диапазоне от 1 до n с решето эратосфена, а далее просто сравниваю вектор с простыми числами.
мой пример решения:#include
#include
using namespace std;
int main()
{
int n;
cin > > n;
vector prime (n+1, true);
prime[0] = prime[1] = false;
for (int i=2; i*i< =n; ++i)
if (prime[i])
for (int j=2; j< =n/i; j++)
if (prime[i*j]) prime[i*j] = false;
for(int i = 0; i < prime.size(); ++i)
{
for(int j = i; j < prime.size(); ++j)
{
if(prime[i]& & prime[j])
if(i+j==n)
cout < < i < < " " < < j < < endl;
}
}
cin.get();
cin.get();
}
В алфавите 124 буквы.
124 не является квадратом двойки, нужно найти ближайшее число, большее чем 124 но являющееся квадратом двойки. (Если число будет меньше, то для записи некоторых букв алфавита просто не хватит символов.)
ответ: одна буква несёт в себе информацию, равную 7ю битам.