| Exercice de Zebdal | |
|
+6M@d_Doc onilink_ bibi675 Chlorodatafile Chulien zebdal 10 participants |
|
Auteur | Message |
---|
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Exercice de Zebdal Mer 2 Déc 2009 - 11:24 | |
| je vous propose un exercice de programmation afin d'amuser la galerie. vous aurez jusqu'à vendredi soir (france) pour réaliser le script demandé.
donc à un script, on lui passe un nombre entier x >=1
le script doit retourner vrai si il existe un entier n tel que: la somme des entiers de 1 à n = x
la réponse doit être postée ici en spoiler. bien entendu les autres ne doivent pas les lire, sinon c'est pas du jeu.
les gagnants seront ceux qui auront trouvé la solution optimale au problème. à vos claviers. |
|
| |
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 12:24 | |
| je parie 100 000 chewingdollars que c'est un exercice que tu as fait en info cela dit j'ai du temps à perdre bon j'ai pas vérifié hein - Spoiler:
- Code:
-
for (i = 0; i < x ; i++) if( 0.5 * i * (i+1) == x) return 1; return 0
|
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 13:10 | |
| - Chulien a écrit:
- je parie 100 000 chewingdollars que c'est un exercice que tu as fait en info
perdu |
|
| |
Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 13:14 | |
| - Chulien a écrit:
- je parie 100 000 chewingdollars que c'est un exercice que tu as fait en info
cela dit j'ai du temps à perdre bon j'ai pas vérifié hein
- Spoiler:
- Code:
-
for (i = 0; i < x ; i++) if( 0.5 * i * (i+1) == x) return 1; return 0
ton script marche pas, je viens de le tester, 2 et 223 sont nombre premiers, et 4 non, je les ai essayé, ça a retourner 0 pour tous ... |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 13:17 | |
| gosc failed, le programme n'est pas censé retourner vrai si x est premier. il doit retourner vrai si il existe une somme de 1 à n tel que c'est égal à x donc x = 1 ou 1+2 ou 1+2+3 ou 1+2+3+4 etc... donc si x=2 1 différent de 2 1+2 différent de 2 1+2+3 différent de 2 etc... pareil pour 4 (et 223 surement) donc il n'existe pas une somme tq =x après, sa méthode: - Spoiler:
0.5 * i * (i+1)
est la formule générale utilisée pour faire la somme de 1 à i. |
|
| |
Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 13:47 | |
| ah ok ... j'avais compris que c'était surtout pour les nombres premiers, donc après, éveille par la curiosité, j'ai regardé (car je faisais des recherches sur ça pour faire un cribles des nombres premiers en draw sur gm ) je comprend mieux maintenant ! merci |
|
| |
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 14:25 | |
| - zebdal a écrit:
- Chulien a écrit:
- je parie 100 000 chewingdollars que c'est un exercice que tu as fait en info
perdu oh arrête ^^ on a pas l'idée de faire ça tout seul à la maison |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 16:40 | |
| - Chulien a écrit:
- zebdal a écrit:
- Chulien a écrit:
- je parie 100 000 chewingdollars que c'est un exercice que tu as fait en info
perdu oh arrête ^^ on a pas l'idée de faire ça tout seul à la maison encore perdu, c'était bien le cas |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 16:59 | |
| Uniquement en GM ? |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 17:28 | |
| fais le en ce que tu veux, tant que l'algorithme est compréhensible. |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 18:00 | |
| Assembleur = compréhensible ? :gniah: |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Exercice de Zebdal Mer 2 Déc 2009 - 18:45 | |
| |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 12:41 | |
| bon j'ai dépassé la date limite dsl mais j'espere qu'on m'en voudras pas lol - Code:
-
X = argument0 for(i=0 ; i<X ; i+=1) { somme = i*(i+1)/2 if (somme == X) return true else if (somme > X) return false }
En principe ça marche ^^ Bon le premier algo est un peu bidon et pas du tout optimisé mais le second est instantané meme avec des nombres super longs . - Code:
-
X = argument0
a = 0.5 b = 0.5 c = -X D = b*b - 4*a*c
if(D < 0) return false
x1 = (-b-sqrt(D))/(2*a) x2 = (-b+sqrt(D))/(2*a)
if(x1 > 0 && floor(x1) == x1) return true if(x2 > 0 && floor(x2) == x2) return true return false
Voila le second est vraiment cool ^^
Dernière édition par onilink_ le Sam 5 Déc 2009 - 12:51, édité 1 fois |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 12:46 | |
| Bon ben finalement j'ai pas eut le temps, désolé... :sarcastique: |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 12:54 | |
| Ben bibi675 vu que y a pas eu vraiment de poste je pense que personne ne nous en voudras même si on dépasse la date de péremption XD |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 13:08 | |
| Bah vu que mon code ressemble beaucoup à celui de Chulien, je pense pas que ça soit utile de le publier (c'est du Delphi) et je manque de temps pour le porter en assembleur. |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 13:17 | |
| bon, bah je vais donner la solution optimale pour ce problème: - Spoiler:
return true;
tout simplement! sinon à partir du code de chulien, on pouvait faire un truc bien sympa: - Spoiler:
vrai=false; //vrai booléen i=sqrt(x); //i un entier je précise au passage while (i <= x) { if( 0.5 * i * (i+1) == x) vrai=true; else i++ } return vrai
|
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 13:30 | |
| |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 13:55 | |
| what?
Attends Zebdal.... t'es entrain de dire que return true;
marche? |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 14:17 | |
| - M@d_Doc a écrit:
- what?
Attends Zebdal.... t'es entrain de dire que return true;
marche? - Citation :
- le script doit retourner vrai si il existe un entier n tel que:
la somme des entiers de 1 à n = x ben ca retourne bien vrai quand il y a un tel x, right? donc bien sur que ca marche. |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 15:12 | |
| ca marche sous C# effectivement, par contre ca m'étonnerais fortement que ca marche sous gm |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 15:21 | |
| c'est jouer sur les mots, ça retourne aussi vrai sur un nombre qui n'est pas bon. En maths, il y a une différence entre si et ssi (si et seulement si), mais pas en prog. Quand on veux qu'une fonction retourne true pour certains paramètres, on sous entend forcément que tout autre cas entraine false. Bref, ton "exercice" est plus une devinette de bas étage qu'un réel exercice de programmation. Toutefois, les gens qui ont participé se sont creusés la tête, ça c'est bien. C'est juste ta solution que je conteste. |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 15:46 | |
| En tout cas en utilisant le second degres on pouvais facilement resoudre ce probleme , en dehors de la petite enigme je veux dire ...
Par exemple pour N = 150 pour savoir si il c'est solution de n(n+1)/2 suffit de poser une equation et hop on verifie que le resultat soit un entier naturel
0.45 x² + 0.5 x - N = 0
puis on verifie.... |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 16:04 | |
| - M@d_Doc a écrit:
- ça retourne aussi vrai sur un nombre qui n'est pas bon.
et alors? il n'est précisé nulle part "faux sinon". - Citation :
- En maths, il y a une différence entre si et ssi (si et seulement si), mais pas en prog.
faux, la différence est la même, puisqu'en programmation on utilise des outils mathématiques. - Citation :
- Quand on veux qu'une fonction retourne true pour certains paramètres, on sous entend forcément que tout autre cas entraine false.
tu sous-entends, pas moi. - Citation :
- Bref, ton "exercice" est plus une devinette de bas étage qu'un réel exercice de programmation.
faux. ton patron te demande de faire un programme qui retourne vrai si blabla, s'il ne te dit pas "faux sinon", tu peux lui rendre tel quel un programme qui retourne vrai. et s'il t'emmene en justice, tu dis "non mais écoutez, regardez mon programme il fonctionne, il retourne bien vrai quand blabla". - Citation :
- Toutefois, les gens qui ont participé se sont creusés la tête, ça c'est bien. C'est juste ta solution que je conteste.
c'est bien mais c'est inutile, c'est la solution optimale au problème donné. et si ils s'étaient encore plus creusés la tête, ils n'auraient pas foncé tête baissée dans du code. personnellement, c'est un enseignement que j'ai recu d'un très très bon prof il y a 2 ans, et je pense que c'est vraiment un problème très intérressant. y a pas de jeux de mots ou quoi, quand on te demande de faire ceci, tu fais ceci. "ah ben vous vouliez plus? il fallait le dire avant. maintenant il faut nous payer". sous-entendre des choses est très mauvais en programmation et peut mener à des très grosses catastrophes. un exemple: "je sous-entend que les clients ne seront pas assez cons pour rentrer des lettres dans la case qui correspond au nombre d'euros à transférer." paf, un client rentre un mot à la place d'un nombre, fatal error. il fallait faire l'exception. la chose qu'on doit faire n'est pas de sous-entendre des choses quand rien n'est précisé, mais de demander au chef des éclaircissements sur les points troubles. ca peut paraitre con comme ca, mais personne ne m'a demandé ce que ca devait retourner si jamais x ne respectait pas la formule. tout aussi bien, j'aurai pu demander à ce que ca retourne un truc particulier. |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 17:18 | |
| - Citation :
Citation: Bref, ton "exercice" est plus une devinette de bas étage qu'un réel exercice de programmation.
faux. ton patron te demande de faire un programme qui retourne vrai si blabla, s'il ne te dit pas "faux sinon", tu peux lui rendre tel quel un programme qui retourne vrai. et s'il t'emmene en justice, tu dis "non mais écoutez, regardez mon programme il fonctionne, il retourne bien vrai quand blabla". (Rajouter dans la quote la fin du dernier paragraphe, j'ai la flemme) Entre nous, si tu attends que ton patron te dise tout, ou que tu vas le voir toutes les 5 minutes pour demander des éclaircissement, je te donne pas 2 mois dans la boite en question. Et tu dis que sous entendre des choses est mauvais en programmation... Laisser des choses dans le vague, parce qu'on s'en fiche d'aller dans les détails c'est pire. Un bug est presque tout le temps du à un manque de profondeur du logiciel, jamais l'inverse. Il y a des logiciels suivant le cahier des charges, mais étant torché, certes. Mais n'oublie pas l'importance de l'image de la boîte : qui peut se permettre de nos jours de faire quelque chose de médiocre, quand il y a tellement de concurrence? |
|
| |
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 17:37 | |
| - Citation :
- et alors? il n'est précisé nulle part "faux sinon".
lol gros malin - Citation :
- tu sous-entends, pas moi.
lol gros malin - Citation :
- faux.
ton patron te demande de faire un programme qui retourne vrai si blabla, s'il ne te dit pas "faux sinon", tu peux lui rendre tel quel un programme qui retourne vrai. et s'il t'emmene en justice, tu dis "non mais écoutez, regardez mon programme il fonctionne, il retourne bien vrai quand blabla". oui mais il faut savoir faire preuve d'initiative et le proposer à ton patron, c'est un peu du travail d'équipe, si tu t'en rends compte il faut le faire, ça ne peut que te valoriser - Citation :
- "ah ben vous vouliez plus? il fallait le dire avant. maintenant il faut nous payer".
c'est nul nul nul nul sur le plan de la logique c'est bon, ça donne une leçon. après, ne calque pas ça sur le plan du travail, ce n'est plus valable, ça devient de la pinaillerie - Citation :
personnellement, c'est un enseignement que j'ai recu d'un très très bon prof il y a 2 ans, et je pense que c'est vraiment un problème très intérressant. donc c'était bien dans un cours et pas à la maison
Dernière édition par Chulien le Sam 5 Déc 2009 - 17:41, édité 2 fois |
|
| |
Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 17:39 | |
| lol zebdal qui cherche à se faire virer le plus vite possible |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 18:31 | |
| bha il à raison et tort en même temps.
Programmer des options, là ou le cahier des charges est pas prévu, il faut pas faire (plus de temps, perte d'argent pour toi, puisque le mec l'avait pas précisé, mais que tu l'a fait , etc.) Par contre, dans ce genre de fonction, c'est une abération de raisonner comme ça . |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 19:46 | |
| - gosc a écrit:
- lol zebdal qui cherche à se faire virer le plus vite possible
non, parce que c'est moi qui serait le chef de l'entreprise |
|
| |
FJMC Débutant
Messages : 26 Projet Actuel : ???
| Sujet: Re: Exercice de Zebdal Sam 5 Déc 2009 - 22:40 | |
| Franchement je connais pas ton niveau mais si tu étais en école d'ingénieur on se foutrais de toi car: ce que l'on demande: vraie si P1,P4 et P5 très exactement.
toi tu as fait une fonction qui retourne vraie si P1, P2, P3 .... Pn une infinité de proposition.
donc tu ne répond pas à la demande, ce n'est pas exactement la même chose et de loin.
encore, si t'avais mis "if P1||P4||P5 then true" y'aurais pas eu de faux sinon et on aurais répondu à la demande.
Si je te demande de faire une bombe qui explose si son compteur atteint 0, par ton raisonnement tu n'arriverais pas vivant pour me la livrer. |
|
| |
Contenu sponsorisé
| Sujet: Re: Exercice de Zebdal | |
| |
|
| |
| Exercice de Zebdal | |
|