3 filename=${1:-input.txt}
8 start_password=${line%-*}
9 end_password=${line#*-}
13 last_val=${cur_password:0:1}
15 if [ $cur_password -ge $start_password ] && [ $cur_password -le $end_password ]; then
16 for (( a=1; a<${#cur_password}; a++ )); do
17 val=${cur_password:$a:1}
18 if [ $val -ge $last_val ]; then
19 if [ $val -eq $last_val ]; then
27 if [ $got_dupe -eq 1 ]; then
39 last_val=${cur_password:0:1}
43 if [ $cur_password -ge $start_password ] && [ $cur_password -le $end_password ]; then
44 for (( a=1; a<${#cur_password}; a++ )); do
45 val=${cur_password:$a:1}
46 if [ $val -ge $last_val ]; then
47 if [ $val -eq $last_val ]; then
48 dupe_count=$((dupe_count+1))
51 if [ $dupe_count -eq 2 ]; then
61 if [ $dupe_count -eq 2 ]; then
64 if [ $got_dupe -eq 1 ]; then
78 temp_password=$((password+1))
79 last_val=${temp_password:0:1}
80 new_password="$last_val"
81 for (( a=1; a<${#temp_password}; a++ )); do
82 val=${temp_password:$a:1}
83 if [ $val -lt $last_val ]; then
85 for (( b=$a; b<${#temp_password}; b++ )); do
98 cur_password=$start_password
101 while [ $cur_password -le $end_password ]; do
102 #echo -n "$cur_password: "
103 if ( check_valid_1 $cur_password ); then
105 valid_passwords=$((valid_passwords+1))
106 if ( check_valid_2 $cur_password ); then
108 valid_passwords_2=$((valid_passwords_2+1))
117 cur_password=$(get_next $cur_password)
120 echo "There are $valid_passwords valid passwords"
121 echo "And $valid_passwords_2 really valid passwords"