Dude, exchange my money
by AntonLapshin
JavaScript
let f = (v, r=[]) => ([2,1,.5,.2,.1,.05,.01].map(i => {
while(i < v) {
v-=i - .0001
r.push(i)
}
}),r)
console.log(f(9.99));
console.log(f(3.63));
/**
/* Final !!!!!! 81 O(nˆ2) and 96 O(n)
// let f = v => (r=[],[2,1,.5,.2,.1,.05,.01].map(m => {
// while(m < v) {
// r.push(m)
// v-=m - .001
// }
// }),r)
// let f = (v,i=0, m = [2,1,.5,.2,.1,.05,.01][i++],n = ~~(v / m)) =>
// v / n && Array(n).fill(m)+' '+f(v-m*n+.001,i)
// 80
let f = v => (r='',[2,1,.5,.2,.1,.05,.01].map(m => {
while(m < v) {
r+=m+' '
v-=m - .001
}
}),r)
*/