Пользователь использует компьютерную систему, в которой по введенному паролю вычисляется и хранится хеш-значение. хэш-значение пароля вычисляется функцией gethash (см. листинг).
политика безопасности системы требует, чтобы пароль содержал не более шести символов и состоял только из букв латинского алфавита в верхнем регистре в кодировке ascii.
/* входные параметры:
pwd – строка пароля
hash - переменная, в которой будет содержаться хеш
возвращаемое значение:
false – пароль не соотвествует правилам системы;
true - пароль соотвествует правилам системы;
int hash – хеш пароля (целое число)
*/
bool gethash( char const *pwd, int *hash ) {
// длина пароля
int n = strlen(pwd);
// проверка пароля на длину
if(n > 6)
return false;
// проверка пароля на содержание только букв верхнего регистра
for(int i = 0; i < n; i++)
if( pwd[i] < 'a' || pwd[i] > 'z')
return false;
//вычисление хеша
*hash = 0;
for(int i = 0; i < n; i++)
*hash += (pwd[i] - 'a' + 1);
return true;
}
у какого пароля хеш-значение будет меньше 65?