Это пароль, сочетающий в себе различные типы символов, среди которых обязательно должны быть:
* символы букв в нижнем и верхнем регистре (желательно еще и различных раскладок то есть латиница и кириллица и еще можно менять раскладку (то есть а латинское и а кириллическое - так повышается визуальная защищенность если кто-то случайно увидит набранный пароль, хотя вводимые символы должны конечно скрываться, но это так на всякий случай))
* цифры
* специальные символы (подчеркивание, знаки доллара и так далее и тому подобное, иероглифы и прочее)
Вот все эти символы, в различном порядке (то есть не сначала группа букв, а потом группа цифр) в количестве не менее 8 символов
Например у меня на последнем месте работы использовались такие пароли Rjh.Irf19, jLs9w2, eQ4wX2. Последние два менее надежны поскольку не содержат спецсимволы и их длина недостаточно велика. А вот первый пароль удовлетворяет практически всем ранее перечисленным критериям. Еще было бы хорошо "равномерно" распределить цифры. Но и кроме этого, у него есть один нежелательный нюанс. Найдете этот нюанс?
В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.
Код процедуры:
procedure print_fib(n: integer);
var a, b, t: integer;
begin
a := 0;
b := 1;
while n > 0 do
begin
write(b, ' ');
b := a + b;
a := b - a;
n := n - 1;
end;
end;
Пример основной программы:
begin
print_fib(10)
end.
Вывод:
1 1 2 3 5 8 13 21 34 55