Dap, bine si aici nu te opreste nimeni sa o implementezi in ce limbaj vrei Which I did, ce-i drept cu copy paste de la @iamntz - eram curios daca pot scrie idiomatic Elixir logic last night - I’m not sure I’m there yet.
I googled “idiomatic Elixir”, was not disappointed. Beautiful.
for (var i = 30; i < 100; i += 11) {
console.log(i);
}
Explicatie: pentru fiecare cifra a zecilor exista o singura cifra a unitatilor pentru care conditia/diferenta va fi satisfacuta. 30 este primul astfel de numar pentru ca poti scade minim 0. Apoi daca ne gandim ca marim cifra zecilor cu 1, cu cat va trebui sa marim si cifra unitatilor pentru a mentine acea diferenta? Tot cu 1. Deci de aici vine acel +11.
Concluzie:
Până la urmă - ca și în realitatea câmpului de muncă - tot requirements-urile ne omoară, nu implementarea.
sincer, ma amuza unele raspunsuri de aici, o sa mai pun si alte teme similare ca vad ca interesul e mare
legat de cei care critica implementarea, ar trebui sa tina cont de rezultate si sa stie ca nu toti gandesc intr-un anumit fel, dovada ca s-au dat o multime de solutii, unele mai optime, altele mai criptice, dupa nivelul de cunostiinte al fiecaruia.
Ideea acestui topic e sa invatam unul de la altul si sa ne perfectionam cunostiintele, nu sa criticam raspunsurile fiecaruia (e usor sa critici o gresala, e greu sa vii cu o solutie proprie)
un concurs de algoritmii ar fi interesant, sa uploadam sursele pe un server care sa testeze solutia pe mai multe set-uri de date, sa masoare timp-ul de executie si cantitatea de memorie folosita.
Cred ca ai gresit in exemplul tau, pe randul 4.
N-are rost sa fac toate iteratiile, uite 2 exemple:
$i = 1; i < 7 && numbers.push(`${i+3}${i}`); //41
$i = 4; i > 2 && numbers.push(`${i}${i-3}`); //41
Cred ca ai vrut sa scrii
let numbers = [];
for (let i = 1; i < 10; i++) {
i > 2 && numbers.push(`${i}${i-3}`);
i < 7 && numbers.push(`${i}${i+3}`);
}
Dap, aia era ideea. Mulțumesc de corecție!