Relatable scenario: I'm going to the store to buy a single item, but only have a $100k bill. As a result, I need exactly $99,979 in change, and in the fewest coins/bills possible because I'm quite obviously a very practical person.
The denominations of these coins/bills follow the hyperinflation sequence: \$1, 2, 5, 10, 20, 50, 100, 200\$, and so on.
(I'd proposed an OEIS sequence for this, but the first 100k terms are identical to another one so it got rejected)
Task:
Given an amount of money as a nonnegative integer, such as \$73\$, return the minimum number of coins/bills needed to total to that amount. In this example, it would be \$4\$. The coins required would be \$50 + 20 + 2 + 1\$.
As per the standard rules for sequence, you can also choose to return all terms up to an inputted index, or return a (potentially infinite) lazy list or generator that represents the whole sequence.
Test cases:
0 0
1 1
2 1
3 2
4 2
5 1
6 2
7 2
8 3
9 3
10 1
11 2
20 1
30 2
37 4
90 3
111 3
147 5
1000 1
1002 2
1010 2
12478 9
Other:
This is code-golf, so shortest answer in bytes per language wins!