Chat:Fr/2021-06-25
Thyl: sur codeforce
BlaiseEbuth: Et ben quoi ?
Bon[]Crayon: re Salut
Bon[]Crayon: Hola Automaton2000
Automaton2000: j'ai passé mon temps à faire des trucs qui marchent pas
Bon[]Crayon: Automaton2000 C'est tout toi.
Automaton2000: je peux faire une boucle
Bon[]Crayon: Automaton2000 As-tu déjà tenté la boucle dans la boucle.
Automaton2000: je n'ai pas de soucis
Bon[]Crayon: Automaton2000 À la bonne heure.
Automaton2000: pourquoi il y a pire
Bon[]Crayon: Automaton2000 Toujours pire, comme AutomatonNN perdu dans sa boucle infinie.
Automaton2000: faudrait que je trouve la bonne solution
Bon[]Crayon: Automaton2000 C'est une bonne résolution.
Automaton2000: ah oui tiens j'avais pas vu sur le chat ^^
Bon[]Crayon: Automaton2000 Je te signale que tu ne vois que le chat.
Automaton2000: ils ont fait le puzzle ascii art
Bon[]Crayon: ___
Bon[]Crayon: (0,0)
Bon[]Crayon: < . >
fastien: o/
Bon[]Crayon: \o
fastien: o/ Automaton2000
Automaton2000: mais j'ai quand meme un peu
fastien: pff j'ai toujours des phrases nazes ...
fastien: fais mieux Automaton2000
Automaton2000: je vais pas te faire chier
fastien: merci :joy:
Bon[]Crayon: http://chat.codingame.com/pastebin/f994920a-9415-4c5a-8b81-c788b145c130
Bon[]Crayon: Désolé.
Bon[]Crayon: fastien Parle lui de tortue.
fastien: http://chat.codingame.com/pastebin/cfaf197f-476c-4fac-ae06-6551c62fa50f
fastien: ah merde :D
Bon[]Crayon: :thumbsup_tone2:
fastien: Automaton2000 c est quoi le nom du vieux pépé dans dragon ball ca fini par géniale
Automaton2000: je sais pas je suis sur le meme serveur
fastien: et ca comme par tortue
fastien: Automaton2000 : :turtle: :nerd:
Automaton2000: et ça c'est la partie facile
fastien: Automaton2000 : si tu enleves un R a torture ca fait tortue
Automaton2000: ouais mais ça me dérange pas trop
Bon[]Crayon: Automaton2000 Le jour où tu parleras de tortues, les lièvres auront des ailes.
Automaton2000: je ne connais pas trop ce qui me semblait
fastien: Automaton2000 : ca peut faire toture mais ca osef un peu
Automaton2000: et j'ai pas eu le temps de comprendre le code de pb4
Rafdune: Bonjour ! J'ai besoin d'un boost en kotlin, quelqu'un a une solution ?
Bon[]Crayon: Une aide ?
Rafdune: un boost = monté en compétence rapidement
Bon[]Crayon: ok
Rafdune: les clash of codes, personne ne les fait en kotlin, donc je peut pas apprendre de tips
fastien: fait pas de coc alors :joy:
Bon[]Crayon: Est-ce que tu as déjà les bases ?
fastien: par contre si tu réussi les puzzles tu peux voir les soluces des autres personnes
Rafdune: oui j'ai les bases
Bon[]Crayon: Sur le site de kotlin, il y doit avoir des docs et des tutos.
fastien: Automaton2000 : a ton avis il a les bases, ou ca manque de tortue ?
Automaton2000: mais je pense que c'est encore pire que ce que j'ai dit
Bon[]Crayon: https://kotlinlang.org/docs/home.html
[CG]Thibaud: RafDune faire une IA sur Code a la Mode en Kotlin? Le referee est en Kotlin
dwarfie: youhou !!!!
dwarfie: lvl up ....
dwarfie: maintenant 3535 to lvl 50 ... c'est pas gagné ...
TotM-youtube: mdr je suis lvl5
dwarfie: t'as plus qu'a t'y mettre ;)
TotM-youtube: mais c grave dur je trouve
TotM-youtube: comment vous y arriver vous ??
dwarfie: fait des puzzles pour commencer ... quand t'es au point , tu peut attaquer les multi et ca uppe vite ( ... au debut ... )
TotM-youtube: je suis dans puzzle facile j'y arrive pas :no_mouth:
ChocolateMarmot: salut
ChocolateMarmot: la difficulté du mode facile est approximative
dwarfie: commence par les officiels : course de chevaux , temperature , descente ... les easy commu , c'est parfois douteux ...
ChocolateMarmot: test les clashs
dwarfie: et les clashs , c'est carrement foireux ...
TotM-youtube: mais vous vous avez rien fait pour apprendre le codage avant??
ChocolateMarmot: sisi
ChocolateMarmot: perso
ChocolateMarmot: licence pro
TotM-youtube: après j'ai 15 piges
TotM-youtube: perso je fais openClassrooms
dwarfie: :speak_no_evil:
dwarfie: pas envie de dire ce que je pense d'un site qui s'appelait le site du zero ...
TotM-youtube: bah dit tjrs je m'en fout moi
TotM-youtube: et puis j'ai pas d'autres moyen d'apprendre
ChocolateMarmot: ici tu n'as pas bc de programmation objet
ChocolateMarmot: tes plus sur de l'algo
TotM-youtube: oe j'avais remarquer:joy:
dwarfie: et y'a contradiction ?
TotM-youtube: du cp c la merde
TotM-youtube: bah c pas la mm chose qd mm
dwarfie: je vois pas en quoi la prog objet se passe d'algorithmique...
TotM-youtube: je dit rien je suis débutant..
TotM-youtube: vous faites quoi comme language
samiriscool: pourquoi personne ne dit bonjour
dwarfie: parce qu'on fait comme Automaton2000 ....
Automaton2000: peut etre un peu moins bon que mon code est trop lent
dwarfie: Automaton2000 : fix ton algo
Automaton2000: je pense que le gars qui fait du clash of code
TotM-youtube: venez on fait un clash of code
dwarfie: pas moi ... ca va me faire perdre 30 secondes :D
dwarfie: je viens d'en faire un ... 24 secondes + 5 secondes pour changer de langage ... les pauvres en face :rofl:
dwarfie: et vlan .. 23 chars
RandomVariable: dwarfie, t'es un collègue à Stilgart ?
dwarfie: on peut dire ca ...
dbdr: c'est pas l'inverse?
dwarfie: ... en tout cas , on bosse au meme endroit , mais pas au meme etage :D
dwarfie: c'est peut etre l'opposé du contraire en fait ;)
Alshock: et on peut dire que là-bas ils ont pas las lumière à tous els étages :smirk:
Alshock: salut à tous, tortue Automaton2000
Automaton2000: ça me fait gagner des places :d
RandomVariable: "être collègue", c'est reflexif, non ?
Alshock: doucement, mais sûrement
dwarfie: Automaton2000 ... file ton code qu'on fasse pareil ;)
Automaton2000: bien que ça doit être le seul à avoir le même résultat
dwarfie: Automaton2000 : ok , alors file ton code qu'on voit ce qu'il faut pas faire ...
Automaton2000: cg est en train de regarder ça
Alshock: aïe, le blame qui se prépare
dwarfie: ( ca , ca fait peur ... )
dbdr: Alshock :clap:
dbdr: RandomVariable, ça dépend, es-tu ton propre collègue?
dbdr: moi, ça dépend des jours...
dwarfie: dbdr ... si un collegue , c'est le gars qui t'interromp regulierement pour une pause cafe , alors tu peut etre ton propre collegue en effet :D
Alshock: attends la reflexivité c'est pas a ¤ b <=> b ¤ a, être son propre collègue c'est a ¤ b && b ¤ c => a ¤ c non ?
RandomVariable: Ah oui, c'est juste "symétrique" le bon terme
Alshock: j'ai jamais réussi à retenir les termes des propriétés d'opérateur. Chais pas trop pourquoi a veut juste pas
RandomVariable: c'est pas moi qui vait juger, j'ai du aller retourner sur https://fr.wikipedia.org/wiki/Relation_binaire#Relation_sym%C3%A9trique
Alshock: pour le coup, maintenant le nom de réflexivité fait sens
RandomVariable: dbdr, quand as tu été à l'ENS ?
BlaiseEbuth: Coucou troués
poMpurINOU: Coucou, je n'ai jamais programmé avant et j'ai envie d'apprendre car l'année prochaine je vais faire une double licence maths-info. Est-ce que vous savez ce que je peux faire pour ça ? je suis un peu perdu sur le site.
TotM-youtube: salut, je pense que Codingame n'est pas bien pour toi car cela demande quelque compétence
BlaiseEbuth: CodinGame nécessite de maîtriser les bases.
TotM-youtube: Je pense que OpenClassrooms et mieux pour ça
poMpurINOU: d'accord merci beaucoup !
TotM-youtube: derien et bonne chance
poMpurINOU: :pray: :blush:
philRG: c quand tu commences à utiliser des regexp que tu sais que tu fais de l'informatique :o)
BlaiseEbuth: Les regex c'est la vie
philRG: https://imgur.com/0JSolEq
philRG: plus que 4 questions sur regexp et ensuite roue libre sur les 2 dernières rubriques :sweat:
BlaiseEbuth: Ah bah tiens, je connaissais pas *?
Alshock: de manière générale, rajouter ? après un quantifier le rnd non-greedy
Alshock: (reuh au passage)
BlaiseEbuth: J'avais jamais rencontré cet usage.
BlaiseEbuth: Et repassage
dwarfie: et dépassage .... (d'apres les nouveaux journalistes , ca remplace depassement ...)
Alshock: Souvent ça sert quand tu attends une "balise fermante, comme les guillemets dans l'exemple ou /\(.*?\)/
Alshock: notez qu'on attend toujours la fin des guillemets que j'ai moi-même ouverts, c'est très méta
BlaiseEbuth: Hmm pas faux. Jusque là j'aurais bêtement remplacé le point par un [^)]
philRG: bon c la 4
BlaiseEbuth: Après, std::regex... voilà
BlaiseEbuth: C'est ultra limité donc on fait avec ce qu'on a :p
dwarfie: sed , y'a que ca de vrai ...
Alshock: Ouais, je m'en suis jamais servi en C++ c'est dire
BlaiseEbuth: Btw philRG, pour faire du test et concevoir rapidement des regex y'a ça https://regex101.com/
philRG: pattern = r"'(.*?)'" string = "Some text 'a', Some text 'b'" re.findall(pattern, string) Out[504]: ['a', 'b']
philRG: BlaiseEbuth: je connais, je l'ai déjà pratiqué quand un de mes potes taxis a cru pouvoir informatiser les ordres de courses de ses clients reçus par mails
BlaiseEbuth: :thumbsup:
philRG: pourtant mon truc était bien chiadé :-( va même jusqu'à faire un planning automatique sur la flotte de taxis pour le lendemain, en se basant sur les API de Geocoding
philRG: mais quand l'adresse c'est truffé de caractères de contrôles, adresses imprécises mélangées avec des noms prénom et n° de téléphone dans n'importe quel ordre c'est un peu dur
philRG: ou alors il faut un NN, mais pour moins de 400€, un peu dur à programmer
BlaiseEbuth: Ouai c'est plus facile de coder avec des sous...
philRG: à la limite je me serai fait payer au black mais bon, je crois qu'il voulait que ça tourne sur une tablette Android...
philRG: mes potes ont dit que j'étais un kador enfin bon, mes potes même ingénieurs sont niveau 1 en code
TotM-youtube: mdr ils sont cons un peu
BlaiseEbuth: *cador
philRG: ah si le fils de mon pote du tennis étudiant en 2ème année à l'EFREI, j'ai participé à un projet
philRG: BlaiseEbuth: cador ah ok j'apprends un nouveau mot :-)
philRG: TotM-youtube: en fait un est ingénieur électronique, et crée des produits de type IOT avec des cabinets de dev
philRG: il code pas, gère que la partie conception et business
philRG: les autres font d'autres métiers
philRG: rien à voir avec la prog
TotM-youtube: oe tkt j'avais compris
philRG: donc forcément j'suis un cador comparativement. Tout est question de référentiel :-)
TotM-youtube: Ce qui me fait rire c'est que vous avez tous un métier et moi j'ai 15 ans
philRG: mon pote voulait une facture et pour 400€, pas forcément envie de créer un statut freelance avec toutes les emmerds associées
dwarfie: et alors ... je codais bien avant d'avoir 15 ans ... en quoi l'age compte :D
BlaiseEbuth: Et à 15 ans t'as pas de métier? Sale gosse de pays riche
dwarfie: ouais ... va constuire des console francaise ...
dwarfie: ah merde ca fait longtemps que ca existe plus ...
TotM-youtube: bah quoi vous habitez pas en France
BlaiseEbuth: En chine à ton âge ils ont déjà bossé la moitié de leur vie.
TotM-youtube: Oui dacc mais je vous demande vous
BlaiseEbuth: Bah quoi nous ?
smokey972: c'est un troll ignore le
TotM-youtube: bah vous habitez ou
dwarfie: nous on est des bots ... ca depend de sur quel serveur du cloud notre programme tourne voyons :D
BlaiseEbuth: Y'a pas de trolls ici, c'est une légende.
dwarfie: pas vrai Automaton2000 ?
Automaton2000: je trouve ça plus simple à gérer
TotM-youtube: des bots qui parle comme ça c'est bizarre un peu
dwarfie: Automaton2000 : gerer , c'est pour les faibles ...
Automaton2000: comme dans tous les sens
philRG: c chaud ces regexp
philRG: string = multiline string re.findall(pattern, string, re.DOTALL) Out[512]: ['multiline \nstring']
dwarfie: Automaton2000 , t'aimes pas les regexp toi ;.. tu fais comment ?
Automaton2000: dans le leaderboard de l'ide
TotM-youtube: je chercje des bots
dwarfie: Automaton2000 il se multipie ... c'est un autobot
Automaton2000: il y a une fonction qui me donne des idées
BlaiseEbuth: Rollout!
dwarfie: Automaton2000 : clone ?
Automaton2000: il y a des jours comme ça
Owxy: Les meilleurs scores dans Taille de Code viennent de l'époque ou le hardcode était possible ?
BlaiseEbuth: Ah le hardcode n'est plus possible ?
TotM-youtube: non Malheureusement
TotM-youtube: Blaise tu est bilangue
BlaiseEbuth: Bifide :snake:
philRG: ouf 95% du premier Draft à la certification Python LearnX, mais c pas du temps limité, j'ai un peu traîné sur la fin
philRG: certification gratuite si score > 90% sinon attendre 24h pour repasser les tests
BlaiseEbuth: Tant que tu fais plus de 52%...
pierrom: Salut j'ai une question ou j'arrive pas a trouver la solution. pourquoi 10||11 renvoie 10 ? (Je suis en C++) Merci d'avance
philRG: BlaiseEbuth: ah me souviens pas du topic ;-) mais j'ai pensé à boulet sur le chapitre sur les exceptions
philRG: paraît qu'il fait des try: simulation() except: continue dans ces codes qui passent légende
philRG: j'avoue que là c du haut niveau :-D
philRG: respect :stuck_out_tongue_closed_eyes:
philRG: je me suis aperçu qu'à la fin qu'on pouvait copier/coller les codes sans se faire jeter (et perdu du temps) comme j'ai qu'un écran
philRG: je pourrai faire les tests sur les autres langages plus rapidement. Après ça couvre bien les éléments principaux du langage
philRG: je commence à couvrir un bon pourcentage des spécifications du langage de base avec la pratique, sans vraiment le chercher.
philRG: Donc à force de suer, on finit toujours pas devoir se mettre à utiliser des specs non utilisées au départ
BlaiseEbuth: Moi j'appelle ça du déo
jfaixo: pierrom tu es sûr que 10 || 11 renvoit 10 ? ca renvoit pas 1 ?
jfaixo: j'ai pas fait de c++ depuis des siècles, mais l'opérateur "||" c'est le ou logique. Et il me semble qu'un entier différent de 0, c'est comme "true" (0, c'est false)
jfaixo: donc dans "10 || 11" => 10 est différent de 0, donc la résolution de l'expression s'arrête là (car c'est un OR), et ca renvoit true (qui vaut probablement 1 si tu le cast en entier)
BlaiseEbuth: Ca renvoie 1
jfaixo: haa, bien bien je dis pas n'importe quoi :sweat_smile:
BlaiseEbuth: C'est quoi la problématique pierrom ?
philRG: ah ouais quand même 200 questions dans la certif LearnX pour Py
philRG: bon on peut utiliser le copy/paste finalement et pas en temps limité. Par contre, répondre au hasard, c'est courir le risque de devoir attendre 24h de plus si score insuffisant
philRG: j'ai lu que c'est payant si score < 90 %
philRG: j'sais pas ce que ces certificats valent sur linkedin
BlaiseEbuth: Bah linkedin vaut pas grand chose déjà...
TotM-youtube: slt je cherche d'apprendre le C++ efficacement
BlaiseEbuth: Bah arrête de chercher, fonce.
philRG: faut prendre le OU Booléen
pierrom: commence par les puzzles facile
philRG: 0b10 | 0b11 vaut 3 soit 0b11
TotM-youtube: mm les puzzles faciles j'y arrivent pas
BlaiseEbuth: Si t'as aucune base c'est normal
TotM-youtube: j'apprends ou les bases alors
pierrom: tu vas dans activité apprendre et tu prends un tuto apprendre le C++
dbdr: philRG il a la base 2
BlaiseEbuth: Pas sûr qu'il y'ait ça
dwarfie: :thinking: ... "|" c'est pas le ou booleen ...
TotM-youtube: non il faut un double
dwarfie: c'etait pas une question ... je rebondis juste sur la phrade de philRG qui est foireuse :D
dwarfie: *phrase
philRG: oui tout à fait
philRG: merci dwarfie, comment on nomme le | par rapport au ||
TotM-youtube: vous pouvez dire que je suis ***
BlaiseEbuth: Tu es ***
dwarfie: c'est un operateur bitwise
BlaiseEbuth: Un plaisir
philRG: ok merci dwarfie, je me suis tapé un QCM de 200 questions en python, et je code assez peu de bitboards
philRG: enfin là c pas du bitboard :zipper_mouth:
dwarfie: ca sert pas que pour les bitboards en plus ...
BlaiseEbuth: Mais si. Fait pas ton barbu. Il est déjà bien gentil de te concéder que ça a UNE utilité.
TotM-youtube: "Fais pas ton barbus"???:joy:
philippephilippe: salut! est-ce que quelqu'un saurait m'expliquer cette ligne de C? while(!(n & 0x80000000)) n <<1;
MaxCol06: salut
MaxCol06: salut philippe
philippephilippe: comprends tu ce while enigmatique? Je debute et c'est un peu trash pour moi
BlaiseEbuth: https://www.youtube.com/watch?v=v0UIKhFROCA
BlaiseEbuth: Désolé
BlaiseEbuth: *pas du tout
philippephilippe: haha :D TA GU***!
BlaiseEbuth: Du coup j'en oublie ta question philippephilippe ^^'
BlaiseEbuth: Du coup tu as 0x80000000 qui est un nombre en hexadecimal
BlaiseEbuth: 0x -> hexa
BlaiseEbuth: Ensuite tu as une variable n
pardouin: c'est 2147483648 donc 2 puissance 31
pardouin: (ça aide à comprendre)
BlaiseEbuth: Et tu fais un & bitwise entre les deux.
BlaiseEbuth: Donc en gros ça vaut "vrai" tant que n est différent de 0
BlaiseEbuth: Mais y'a ! devant qui veut dire "not"
pardouin: ton n vaut sans doute 1 au début, il sera décallé d'un cran dans sa représentation binaire à chaque étape: 1, 10, 100 etc (en décimal 1, 2, 4, etc)
BlaiseEbuth: Donc c'est l'inverse
dbdr: sans doute 1? amis des suppositions hasardeuses... :D
BlaiseEbuth: Ouai
dbdr: ça décale les bits de n jusqu'à ce que le bit de pod foirt soit 1
philippephilippe: super je commence a comprendre un peu.
BlaiseEbuth: << c'est l'opération "shift" ça décale les bits de ton nombre de une position
dbdr: *poid
dbdr: *poids
philippephilippe: le 8 est pour 8 bits?
BlaiseEbuth: Quel 8 ?
dbdr: non, c'est un 8 en hexadecimal
BlaiseEbuth: Ah ce 8 ^^
philippephilippe: while(!(n & 0x80000000)) n <<1; le 8 de 0x8
philippephilippe: tout ça est de l'exa ?
pardouin: ça veut dire 8 * 16 puissace 7
pardouin: 0 * 16 puissane 6
pardouin: etc
BlaiseEbuth: Si tu veux bien comprendre -> papier + crayon + représentation binaire des nombres
philippephilippe: oui j'essaye depuis un moment. j'ai trouvé cette ligne dans une fonction de conversion d'ascci en binaire
philippephilippe: le passage pas de l'hexa est obligatoire?
pardouin: en gros ça va multiplier n par 2 jusqu'à ce qu'il soit >= à 2 puissance 31
pardouin: l'hexa peut être remplacé par (1 << 31) pour exactement le même résultat
pardouin: ou 2147483648
darkhorse64: faudrait pas que je te montre mon code Connect4, tu ferais des cauchemars :scream:
philippephilippe: ok merci! je relis tout ça tranquillement et ça devrait aller
philippephilippe: héhé vas-y poste si tu veux ya tjrs du public pour les films d'horreurs
pardouin: après c'est sans doute juste un trick visuel pour que ton truc soit codé sur 32 bits avec tout décalé à gauche
darkhorse64: allez une ligne sympa: return (z & (z << 2) & rv_mask) || (x & (x << 18)) || (c & (c << 20) & rv_mask) || (v & (v << 16) & lv_mask);
pardouin: pour quelle raison, je l'ignore ^^
philippephilippe: XD a oui qd meme! c'est beau!
darkhorse64: j'en ai des pires
**BlaiseEbuth copie le code pour gagner à C4
philippephilippe: merci pardouin
darkhorse64: m'en fous, je l'utilise plus; pas assez rapide
BlaiseEbuth: Ouai, merci pardouin, dbdr et moi on a rien fait.
pardouin: lol
BlaiseEbuth: (╯°□°)╯︵ ┻━┻
pardouin: phil par exemple si tu avais 1001011 en binaire ça va te coller des 0 derrière: 10010110000000000000000000000000
pardouin: par contre si n vaut 0 ton while tourne à l'infini :/
BlaiseEbuth: Peu de chance de rencontrer le NULL ascii dans une chaine...
pardouin: certes
BlaiseEbuth: Rha mais faut leur mettre des quotas à ces mecs ! :rage:
philippephilippe: et merci balaise! un non blaise ;)
Adrali: Blaise repose cette table : ┬─┬ノ( º _ ºノ)
RandomVariable: http://chat.codingame.com/pastebin/cbbeed22-207e-471b-b4ee-d76e0586fff5
BlaiseEbuth: (╯°□°)╯︵ ıןɐɹp∀
RandomVariable: pourquoi ca devient du paste bin ?
BlaiseEbuth: Pour éviter de se taper des blocs de codes dans le chat
RandomVariable: et y a moyen comme dans slack de séparer le message, du code qui l'accompagne ?
BlaiseEbuth: Non. Il détecte pas le code mais le nombre de retour à la ligne
BlaiseEbuth: Enfin tu peux taper ton message, l'envoyer, puis envoyer le code
RandomVariable: c'est ce que j'aurais fait si j'avais anticipé
RandomVariable: Bref, si vous voulez du contexte, le message était: Si vous voulez jouer, que vaut j après ces instructions (en C#)
pardouin: déjà est-ce que le while s'arrête ?
BlaiseEbuth: Bah ton premier while est infini
philRG: pardouin: certif gratuite sur learnX https://www.learnx.org/
philRG: en fait je pensais que ça couvrait les autres langages mais non :(
RandomVariable: Le 1er while s'arrte bien, mais au bout d'un temps très long
philRG: j'ai testé ce site pour rien
philRG: enfin j'ai une certif Python mise sur mon profile LinkedIn
pardouin: c'est genre 2**128 je crois
pardouin: la limite des float
BlaiseEbuth: Bah
BlaiseEbuth: même
pardouin: ça donne inf = inf
BlaiseEbuth: Enfin je sais pas ce que fait c# en cas d'overflow
BlaiseEbuth: Sérieux ça passe à inf ?
pardouin: et du coup c'est évalué une fois et j vaut 1
pardouin: ?
3141948: > allez une ligne sympa: return (z & (z << 2) & rv_mask) || (x & (x << 18)) || (c & (c << 20) & rv_mask) || (v & (v << 16) & lv_mask);
philRG: sympa darkhorse64 :slight_smile:
pardouin: ah mal lu le second c'est ==
philippephilippe: on dirait une formule excell
RandomVariable: non plus, elle est évaluée environ 10^15 fois
philRG: j'ai vraiment besoin de bosser cette partie
pardouin: mais le second c'est un int j donc ça va juste revenir à 0 sans passer par inf je pense
RandomVariable: et c'est pas spécifique à C#, ca serait pareil en C o en java
pardouin: le second while sera toujours vrai, inf = inf + truc
pardouin: sauf si truc vaut -inf , ça fera NaN
pardouin: mais je pense pas que ça arrive ici
philRG: philippephilippe: non Excel c pire. J'ai du remplacer toutes les formules chez un client par des macros VBA car j'arrivais pas lire les formules et indices
philRG: et du coup ça ramait quand les données ont grossi :(
philRG: pas à lire
RandomVariable: si vous voulez la solution, avec un code qui termine, vous vouvez tester ça https://dotnetfiddle.net/2Afh3I
philRG: c'était vraiment trop triste d'expliquer ça à des gens qui ne connaissent rien à la programmation
philippephilippe: oh le moment de solutide...
philRG: le créateur des formules devait avoir des bons yeux et surtout pas le même âge
pardouin: ah ok c'est casté en int après donc la limite est supérieure aux floats
philippephilippe: le vba devrait etre interdit surtout
pardouin: donc ça donne 2**128 == 2**128 + 1
pardouin: c'est faut et ça stoppe
philRG: bah c'était même pas du VBA qui était codé mais des empilages de formules Excel codées salement
pardouin: (hmm pas sûr de l'explication)
BlaiseEbuth: Soucis de précision
RandomVariable: i est un float, donc a une certaine précision, pour un i trop gros, rajouter ferait que ce serait en dehors de la mantisse
pardouin: oui j'avais pas vu les *2, ça doit être le coeur deu truc
BlaiseEbuth: Nan ça c'est juste pour aller plus vite
RandomVariable: dans le code de base, c'est juste i+=1, mais ca prend un temps énorme
pardouin: ok
pardouin: oui pb de chiffres significatifs
BlaiseEbuth: Ouai du coup
pardouin: c'est tout couillon
BlaiseEbuth: i = 9.00719925474099E+15 i + 1 =9.00719925474099E+15
BlaiseEbuth: Marrant
BlaiseEbuth: Bien vu
RandomVariable: c'est la question de tout à l'heure qui m'y avait fait pensé
BlaiseEbuth: Avec les shifts ?
RandomVariable: celle de philippe
BlaiseEbuth: Oui
BlaiseEbuth: Ok
philRG: vous avez de bons yeux, pour moi ce sont les mêmes nombres
RandomVariable: je crois même que le prof avait indiqué que j vaudrait 2 sur un ordi, mais 8 sur certaines calcultrices qui stockent en octal, et que théoriquement ca permet de connaitre la base de la machine ... mais ca remove à plus de 10 ans, donc faut pas prendre ça pour argent comptant.
BlaiseEbuth: Bah justement philRG, ce sont les mêmes
philRG: sur du C#?
BlaiseEbuth: Bah peut importe
RandomVariable: en python je sais pas, comme les entiers sont non bornés, je suis pas sur pour les flottants
RandomVariable: mais je pense pouvoir affirmé que c'est vrai pour tout ce qui utilise https://fr.wikipedia.org/wiki/IEEE_754
BlaiseEbuth: voilà
BlaiseEbuth: j'allais me corriger
RandomVariable: tiens, j'avais pas fait gaffe, mais c'est vrai qu'en C# ce sont des doubles par défaut, si on force i en (single precision) float ca termine un peu plus vite quand même https://dotnetfiddle.net/IVzVsu
philRG: j rien compris mais tant mieux :)
philRG: g
philRG: https://openclassrooms.com/fr/courses/218202-apprenez-a-programmer-en-c-sur-net/216257-les-variables
philRG: ça doit rentrer dans un float/single
philRG: en python, le float équivaut au double, et pas de limite de taille pour les int
philRG: y a pas de single
philRG: en C#, il est recommandé d'utiliser a.Equals(b) pour comparer les nombres a et b de type double, doit y avoir une raison
philRG: plutôt que a == b va comprendre Alexandre
philRG: un float python, c pas un float en C#. Comment s'y retrouver quand on switch de langage.
philRG: python a le grand avantage de simplifier l'écriture de code, mais il faut être méticuleux pour le nommage des variables, et rajouter leurs types pour une lecture plus aisée
pardouin: en python c'est des double donc ça ferait exactement pareil
pardouin: tu peux forcer les simple avec numpy (np.float32(...))
philRG: apparemment pas possible d'éviter numpy :-o donc
philRG: pour passer en simple précision
dwarfie: c'est ca d'avoir un langage pas fichu d'avoir des types propres de base ...
pardouin: gnangnangnan :p
Zorg1: à mon avis il a un fichier de texte d'où il copie/colle ses répliques :p
BlaiseEbuth: Reuh
philRG: un fichier de template par user :-)
pardouin: j'ai fait ton qcm phil mais c'est ballot il marque pas le score sur le certificat ^^""
RandomVariable: Pfiou, j'ai enfin fini shikaku solver
RandomVariable: pardouin, si t'es encore dans les parages, je me demande bien comment marche ton algo
pardouin: de mémoire c'est juste un dfs
pardouin: atta je regarde et je vais dodo
RandomVariable: je crois que j'ai pris le problème dans le sens opposé des contributions qui on au moins un vote
pardouin: je me rappelle que je pars du haut à gauche et j'essaye de faire des rectangles dans l'ordre "cases de bédé"
RandomVariable: pour toutes les valeurs, j'ai chercher toutes les possibilité de rectangles qu'ils pouvaient créer
pardouin: après j'ai des flags pour early break dès que possible quand je sens qu'un truc ne va pas marcher
pardouin: mais le détail exact...
RandomVariable: je relierai en étant plus frai demain, mais en effet, j'ai bien compris que ca parcours à partir des cases vides et pas comme moi à partir des cases avec valeur, ce qui a le gros avantage de pas avoir à chercher bien longtemps le premier
RandomVariable: merci
pardouin: allez zou, bonne nuit ;)
RandomVariable: toi également
pardouin: (et je te conseille celui_ci: https://www.codingame.com/training/hard/n-queens)
RandomVariable: (pour info, ton code timeout sur le 20x20 quand je le teste)
RandomVariable: pardouin, fait en 15 min celui ci est en hard et l'autre en medium :-/