Intereting Posts

слишком большое значение для базы (токен ошибки равен «08»)

Попытка сделать викторину «максимальная сумма 2 из сетки»

Не могу понять, как обойти ошибку ниже.

Похоже, я чего-то не хватает. Как только я узнаю, что я могу обновить вопрос, чтобы быть более общим и применимым к другим, возможно.

Line 32: value too great for base (error token is "08") #!/bin/bash setup () { grid=(01 02 03 04 05 06 07 08 07 06 05 12 13 14 15 16 15 14 13 12 11 11 05 06 06 07 07 07 06 06 05 05 04) n=${#grid[@]} number_of_lines=$((n / 11)) length_of_line=$1 largest_sum=0 largest_pos=0 } largest_2 () { for ((row=0; row < number_of_lines; row++)) { for ((column=0; column<length_of_line-1; column++)) { larger_horizontal if [[ $row -lt $number_of_lines-1 ]]; then larger_vertical fi } } } larger_vertical () { sum=$((grid[column+row*11]*grid[column+(row+1*11)])) if [[ $sum -gt $largest_sum ]]; then largest_sum=$sum largest_pos=$((column+row*11)) direction=vertical result=$largest_pos fi } larger_horizontal () { sum=$((grid[column+(row*11)]*grid[column+1+(row*11)])) # <-- Line 32 if [[ $sum -gt $largest_sum ]]; then largest_sum=$sum largest_pos=$((column+(row*11))) direction=horizontal result=$largest_pos fi } setup 11 largest_2 printf "\n1. Max: row=$((result / 11 +1)) column= $((result % 11 +1)) direction=$direction\n" 

08 начинается с 0, поэтому в некоторых контекстах считается восьмеричным (с цифрами от 0 до 7, следовательно, ошибка начинается с 08 ). Решение: отфильтровать 0; если вам нужно вывести ведущее 0, то есть printf %02d .