Весельчак У создал генератор паролей. Генератор создает пароли длиной 4 символа, где каждый символ с равной вероятностью берется из набора из Х символов. Известно, что сообщение, что очередной пароль является палиндромом, несет в ровно на 3 бита информации меньше, чем сообщение, что очередной пароль состоит из одинаковых символов. Определите количество символов X, при котором такое соотношение будет справедливым. Палиндромом будем считать такую последовательность символов, которая будет читаться одинаково слева направо и справа налево, например АВВА или .
31
Объяснение:
/** libraries */
#include <iostream>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <algorithm>
/** libraries */
using namespace std;
/** defines */
#define ll long long
#define ld long double
#define yes cout << "YES" << "\n"
#define no cout << "NO" << "\n"
/** defines */
ll to_10(ll num){
ll i = 0,res = 0;
while(num > 0){
res += pow(2,i) * (num % 10);
num /= 10;
i++;
}
return res;
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
for(ll x = -1000000; x <= 1000000; x++){
if(x - to_10(11110) > 0&&to_10(11) * to_10(1001) - sqrt((to_10(101011) + to_10(111001))/(x-to_10(11110))) == to_10(10001)){
cout << x;
return 0;
}
}
}
8
Объяснение:
var i:integer;
begin
for i:=1 to 8 do writeln(i);
end.
Вывод:
1
2
3
4
5
6
7
8