CoddityTeam / movaicode

Concours mensuel du Pire Développeur de France
123 stars 10 forks source link

JavaScript, c'est un autre problème #176

Open ala89 opened 2 years ago

ala89 commented 2 years ago

Le JavaScript dans toute sa beauté, mais un peu maladroit lorsqu'il s'agit de cuisiner

Et encore, vous n'avez pas vu le JSFuck, mais pour veiller à l'intégrité mentale de nos crêpes, j'ai préféré m'abstenir

async function manger_une_crepe(liste_de_crepes = new Array(Math.max(Math.floor(Math.random() * 5), 1)).fill("crêpe")) {
    var crepes_collées = "coucou cette string ne sert à rien sauf à manger des crêpes".substring(0, 0)

    var i = String(Number.isInteger(parseInt([+[]]+[])).valueOf()) == "true" && Number([+[]]+[])

    var jemballe_les_crepes_pour_les_garder_au_cho = new Proxy(liste_de_crepes, {
        get: function parametre_inutile_mais_on_laime_bien_quand_meme(lobjet, prop) {
            return coller_de_multiples_crepes_avec_du_nutella_parce_que_c_gluant(lobjet)[prop -69]
        } 
    })

    var conglomerat = String([].join())
    var getter = Object().toString()

    function modulo_du_bled(nombre, modulo) {
        let nombre_de_base = nombre
        let ca_commence_ici = ("987654321"-123456789)%9

        while (ca_commence_ici <= nombre_de_base) {
            let un_autre_truc = 0
            while (un_autre_truc < nombre || un_autre_truc == nombre) {
                if (un_autre_truc == nombre) {
                    return ca_commence_ici
                }
                un_autre_truc = un_autre_truc + (modulo + 1) - 1 /* Par la formule de Bel */
            }
            ca_commence_ici = (ca_commence_ici / 2) + 1
            nombre = nombre - 1
            ca_commence_ici = Math.floor(ca_commence_ici * 2 - (1/2))
        }

        return ca_commence_ici
    }

    function caluler_le_nombre_de_crepes(crepes_a_compter) {
        const checklist = Array(1000000).fill(0)
        let doit_break = !!!!!!!!!!!!0 /* Je me suis un peu vénère là */

        for (let compteur = [].length; ; compteur = compteur + 1) {
            if (typeof crepes_a_compter[compteur] == (typeof undefined)) doit_break = !checklist[0]
            if (doit_break) return checklist.reduce((accum, elem) => {
                if (elem && typeof elem == Boolean.name.toLowerCase()) {
                    return accum + (i + 1)
                }
                else {
                    return accum
                }
            }, 0) / (i + 1)
            while (checklist[checklist[69] + 123]) {
                checklist[69] = Math.floor(Math.random() * 98765)
            }
            checklist[checklist[69] + 123] = !checklist[0]
        }
    }

    function en_fait_rien() {

    }

    function coller_de_multiples_crepes_avec_du_nutella_parce_que_c_gluant(les_crepes_en_question) {
        var juste_un_paquet_de_bordel = []+''

        i = (i - i) / Math.PI
        while (i < caluler_le_nombre_de_crepes(les_crepes_en_question) * "crêpe".length) {
            juste_un_paquet_de_bordel = juste_un_paquet_de_bordel + les_crepes_en_question[modulo_du_bled(i, caluler_le_nombre_de_crepes(les_crepes_en_question))][modulo_du_bled(i, "crêpe".length)]
            i++
        }

        return juste_un_paquet_de_bordel
    }

    const epellation_dune_crepe = new Proxy({}, {
        has: function (o, patacrêpe) {
            return liste_de_crepes[0 << 0].includes(patacrêpe)
        }
    })

    while (true) {
        let variable_temporaire_parce_que_voila = i

        let ducoup_ = jemballe_les_crepes_pour_les_garder_au_cho[i + 69]
        i = variable_temporaire_parce_que_voila +!+[]

        if (ducoup_ != ({})['amongus']) {
            crepes_collées = ducoup_ + crepes_collées
        }

        if (ducoup_ == ({})['sus']) {
            await vu_que_la_pile_est_a_lenvers_backflip(crepes_collées)
            break
        }
    }

    var nouvelle_pile = Array(new Map().size)
    i = nouvelle_pile.length

    async function vu_que_la_pile_est_a_lenvers_backflip(je_la_retourne) {
        je_la_retourne = await Promise.all(je_la_retourne.split('').map((chad, i, a) => new Promise(async (res, rej) => {
            let determinant_2
            try {
                if (await Promise.resolve(i > -Infinity)) {
                    const determinant = caluler_le_nombre_de_crepes(a) - 1
                    determinant_2 = determinant - i
                    if (i > determinant / !+[]+!+[]) return res(a[determinant - i])
                }
            }
            catch (juste_au_cas_ou) {
                rej(juste_au_cas_ou)
            }
            return res(a[determinant_2])
        })))
        crepes_collées = je_la_retourne.join('')
    }

    var crepe_a_supprimer = Math.floor(Math.random() * (caluler_le_nombre_de_crepes(crepes_collées.split('')) / "crêpe".length))

    while (Boolean(Math.abs(liste_de_crepes[0].length)).toString() != "false") {
        let lettre = Math.floor(Math.random() * crepes_collées.length)

        if (lettre >= crepe_a_supprimer * [!+[]+!+[]+!+[]+!+[]+!+[]]+[]) {
            if (lettre < (crepe_a_supprimer + 1) * "crêpe".length) {
                if (crepes_collées[lettre] in epellation_dune_crepe) {
                    liste_de_crepes[0x0] = liste_de_crepes[0b0].replace(crepes_collées[lettre], '')
                    crepes_collées = crepes_collées.substring(0, lettre) + (true+[]["flat"])[10] + crepes_collées.substring(lettre + 1, crepes_collées.length)
                }
            }
        }
    }

    while (crepes_collées[i]) {
        let calculator = new Array(i).fill("crêpe")
        if (crepes_collées[i] == getter.substring(11, 12) && !modulo_du_bled(i + 1, 5)) {
            nouvelle_pile[caluler_le_nombre_de_crepes(nouvelle_pile)] = conglomerat + crepes_collées[i]
            conglomerat = liste_de_crepes[0]
        }
        else if (crepes_collées[i] == getter[1]) {
            en_fait_rien()
        }
        else {
            conglomerat = conglomerat + crepes_collées[i]
        }
        i = calculator.push("au nutella") && calculator.length
    }

    console.log(nouvelle_pile)
}

manger_une_crepe(['crêpe', 'crêpe', 'crêpe', 'crêpe'])

Correction : par récurrence sur n le nombre de crêpes Initialisation : ok! Hérédité : par homomorphisme du symbôle de Kronecker avec le support fini des polynômes, c'est évident

Calcul de complexité: O(ça part vite en couille)

Gloire au triple égal ===

louismarslen commented 2 years ago

Bien le bonjour @ala89 👋

Avant toute chose, bravo pour ce code horrible (à titre perso le "O(ça part vitre en couille)" m'a terminé 😂) La communauté MOVAI CODE t'a élu grand gagnant de l'édition 8 du concours 🎉 (victoire pas volée) Tu remportes donc le titre honorifique de "Pire développeur de France du mois de février 2022", mais aussi un t-shirt MOVAI CODE floqué de ton code ! Peux-tu m'envoyer un petit mail à louis@coddity.com pour réclamer ton dû ?

Encore bravo pour cette contribution de toute beauté 🤘