5 символов в распоряжении
По формули хартли
N=2^i
5<2^3
I=3
Это столько бит весит 1 символ.
3*15= 45 бит на пароль, но нудно в байтах ,
=6 байт на пароль(8бит-1 байт)
6*30 паролей=180
Ответ : 180
Сначала (до i=5) удваиваются элементы массива 1, 2, 3, 4, 5. Получается соответственно 2, 4, 6, 8, 10. Затем, с i=6 удваиваются полученные значения (в обратном порядке). Получается 20, 16, 12, 8, 4.
Можно это всё расписать подробно, по шагам:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1 шаг цикла:
A [10] := 2*A[1]
1, 2, 3, 4, 5, 6, 7, 8, 9, 2
2 шаг:
A [9] := 2*A[2]
1, 2, 3, 4, 5, 6, 7, 8, 4, 2
3 шаг:
A [8] := 2*A[3]
1, 2, 3, 4, 5, 6, 7, 6, 4, 2
4 шаг:
A [7] := 2*A[4]
1, 2, 3, 4, 5, 6, 8, 6, 4, 2
5 шаг:
A [6] := 2*A[5]
1, 2, 3, 4, 5, 10, 8, 6, 4, 2
6 шаг:
A [5] := 2*A[6]
1, 2, 3, 4, 20, 10, 8, 6, 4, 2
7 шаг:
A [4] := 2*A[7]
1, 2, 3, 16, 20, 10, 8, 6, 4, 2
8 шаг:
A [3] := 2*A[8]
1, 2, 12, 16, 20, 10, 8, 6, 4, 2
9 шаг:
A [2] := 2*A[9]
1, 8, 12, 16, 20, 10, 8, 6, 4, 2
10 шаг:
A [1] := 2*A[10]
4, 8, 12, 16, 20, 10, 8, 6, 4, 2
Ответ: 8
#include<stdio.h>
int main(){
unsigned int arr_sz;
scanf("%u",&arr_sz);
signed long long int arr[arr_sz];
unsigned int arr_ism=0;
for(unsigned int i=0;i<arr_sz;i++){
scanf("%lld",&arr[i]);
if(arr[i]<arr[arr_ism])
arr_ism=i;
}
for(unsigned int i=0;i<arr_sz;i++)
printf("%lld ",arr[i]<0?arr[i]:arr[arr_ism]);
printf("\n");
//getchar();
return 0;
}