УСЛОВИЕ если нужноВ банкомате имеются в достаточном количестве купюры 10, 20 50, 100, 200 и 500 грн. Найти минимальное количество купюр, которое необходимо использовать, чтобы выдать сумму N грн. или вывести -1, если указанную сумму выдать нельзя.
Формат входных данных
Первая строка стандартного потока ввода содержит количество тестовых случаев Т. Каждый тестовый случай - это сумма N, которую необходимо выдать, записанная в отдельной строке. 1 ≤ N ≤ 10000.
Формат результата
Для каждого тестового случая выведите в отдельную строку стандартного потока вывода единственное число - минимальное количество купюр, необходимое, чтобы выплатить указанную сумму.
Примеры
Входные данные
4
120
770
1000
11
Результат работы
2
4
2
-1
ОШИБКИ![5c79a97e4b83a512805335.png](https://habrastorage.org/webt/5c/79/a9/5c79a97e4b83a512805335.png)
![5c79a984ed4f4670195382.png](https://habrastorage.org/webt/5c/79/a9/5c79a984ed4f4670195382.png)
main.sh: line 9: ((: i<4
: syntax error: invalid arithmetic operator (error token is "
")
main.sh: line 12: 120
/500: syntax error: invalid arithmetic operator (error token is "
/500")
#!/bin/bash
read size
banknote=(500 200 100 50 20 10)
for ((i=0; i<$size; i++))
do
read n
x=0 # x - количество купюр
q=0 # q - вспомогательная переменная в цикле
for ((j=0; j<6; j++)) # цикл перебирает все элементы массива, от большего к меньшему
do
q=${banknote[j]}
x=$(($x+$(($n/$q)))) # считаем, сколько раз входит купюра в сумму
n=$(($n%$q)) # сумме присваивается остаток от деления на данную купюру
done
if (( $n>0 )) # проверяем наличие остатка, который банкомат не сможет выдать
then
x=-1
fi
lot[$i]=$x
done
printf "%d\n" ${lot[@]}