75-12=63 варианта
Все, что нам остается сделать, это найти ближайшую степень двойки, превышающую число вариантов, то есть 64, тогда, количество информации в сообщении "Даниил загадал 70" по формуле Хартли:
I=log₂64=6 (бит)
Таблица кодировки символов устанавливает соответствие между: символами, их десятичными номерами и двоичными кодами, символами<span> разных алфавитов, символами и количеством байтов, которые они занимают</span>
S = 0
FOR k = 5 TO 23
s = s + (2 * k + 3) / (3 * k + 2)
NEXT k
s = 3 + 2 * s
PRINT s
END
решений существует два
1) суммирование ряда, предусмотрев что сщгтеук будет большим
counter := 0;
for(i:=1213, i<=1210113;i++)
counter := counter+i;
2) вывод формулы как известно суммой ряда натуральных чисел можно считать n(n+1)/2, следовательно, частичной суммой рядо соответственно будет n(n+1)/2-k(k+1)/2+k, и применительно к нашей задаче
605057*1210113 - 607*1213 + 1213 = 732186606363
Преобразование к 5 системе счисления не имеет никаких проблем, делим на 5 записываем остаток, и так пока число не кончится, остатки в обратном порядке и будут искомым числом
т.е. 43444004232400423
//текуще время
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
string dig(int n)
{
string st="";
if (n>9) { st=st+char(n%10+48); st=char(n/10+48)+st; }
else st=st+'0'+char(n+48);
return(st);
}
int main(int argc, char** argv) {
int n,k,m,sc;
string s="";
cout<<"n = "; cin>>n; cout<<endl;
k=n/3600;
m=(n-k*3600)/60;
sc=n-k*3600-m*60;
if (k>24) k=k%24;
if (k<10) s=s+char(k+48)+':';
else s=s+dig(k)+':';
s=s+dig(m)+':';
s=s+dig(sc);
cout<<"time: "<<s<<endl;
system("pause");
return(0);
}
<span>
</span>