Пользователь использует компьютерную систему, в которой по введенному паролю вычисляется и хранится хеш-значение. хэш-значение пароля вычисляется функцией 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?
1) Робот- это машина, которая запрограммирована на определенные действия, которые облегчают жизнь человеку. На самом деле, мы используем в быту довольно много роботов: та же стиральная машина-робот; пылесос- робот; компьютер-робот; автомобиль- тоже робот. Как видно, они здорово нам в жизни.
2) к первым роботам можно отнести механическую утку, которую изобрел основоположник робототехники, физик Жак де Вокансон.
Также к числу первых робототехников можно отнести и великого русского механика и физика Чебышева, который изобрел различные механические машины.
uses crt;
var s:string;
i,k:byte;
begin
repeat
writeln('Введите строку из 20 символов');
read(s);
until length(s)=20;
k:=0;
writeln('Строчные латинские буквы, входящие в строку');
for i:=1 to length(s) do
if s[i] in ['a'..'z'] then
begin
write(s[i]);
k:=1;
end;
if k=0 then write('Строчных латинских букв нет')
end.
uses crt;
var s:string;
i,k:byte;
begin
repeat
writeln('Введите строку из 20 символов');
read(s);
until length(s)=20;
k:=0;
writeln('Замены макс на мин и max на min');
for i:=length(s)downto 1 do
if copy(s,i,4)='макс' then
begin
delete(s,i,4);
insert('мин',s,i);
k:=k+1;
end
else if copy(s,i,3)='max' then
begin
delete(s,i,3);
insert('min',s,i);
k:=k+1;
end;
writeln(s);
if k=0 then write('Замен нет')
else write('Количество замен=',k)
end.