|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#9 |
|
Messages: n/a
Hébergeur: |
Fabien LE LEZ a écrit :
> On Fri, 11 Apr 2008 10:41:55 +0200, pjb@informatimago.com (Pascal J. > Bourguignon): > >> Ce qui donne, en 32-bit: >> echo 1 10000000|./syracuse-c >> Arithemtic overflow on 113383 > > Arf, effectivement, je n'y avais même pas pensé. > Par contre, je ne comprends pas pourquoi le programme plante. n*3+1 > devrait donner une valeur (éventuellement fausse au sens arithmétique) > pour tout n, sans plantage, non ? > J'ai pas précisé ce point... "You can assume that no operation overflows a 32-bit integer." les nombres en entrée sont inclut entre 1 et 1.000.000 (ce qui n'empêche pas le dépassement de toute façon) |
|
|
|
#10 |
|
Messages: n/a
Hébergeur: |
Marc Espie a écrit :
> In article <47ff05e8$0$746$426a74cc@news.free.fr>, > > Juste pour info, ca n'est pas un vrai `probleme d'algo'. La recurrence > indiquee s'appelle la `conjecture de Syracuse', et personne n'a jamais > reussi a la prouver. > > La conjecture pose la recurrence suivante partant de u_0: > > si u_n est pair, u_n+1 = u_n / 2 > si u_n est impair, u_n+1 = u_n * 3 + 1 > > et postule que la suite u_n finit toujours par rejoindre > 4 2 1 4 2 1 4 2 1 ... > > ca a ete verifie experimentalement jusqu'a des valeurs tres importantes, > mais aucune preuve n'en est jamais sorti. > > Classer les entiers selon le nombre d'etapes necessaires pour rejoindre > 4 2 1 ... peut sembler une bonne premiere etape. A ma connaissance, on n'a > vraiment tres peu de renseignements la-dessus. En fait, ce problème est là plutôt pour se familiariser avec l'interface de soumission avec un problème simple. Une sorte de tutorial, le résoudre n'est pas le but ici. |
|
|
|
#11 |
|
Messages: n/a
Hébergeur: |
Pascal J. Bourguignon a écrit :
> Fabien LE LEZ <gramster@gramster.com> writes: > >> On Fri, 11 Apr 2008 10:41:55 +0200, pjb@informatimago.com (Pascal J. >> Bourguignon): >> >>> Ce qui donne, en 32-bit: >>> echo 1 10000000|./syracuse-c >>> Arithemtic overflow on 113383 >> Arf, effectivement, je n'y avais même pas pensé. >> Par contre, je ne comprends pas pourquoi le programme plante. n*3+1 >> devrait donner une valeur (éventuellement fausse au sens arithmétique) >> pour tout n, sans plantage, non ? > > Non, les débordement peuvent produire n'importe quel résultat, comme > le déclanchement de la quatrième guerre mondiale, ou la sortie de > démons nasaux. En clair, chaque compilateur fait ce qu'il veut. > J'étais étonné de la différence pour le même oss, le même code, et un compilo différent. Ce qui m'embête toujours un peu , c'est qu'en utilisant le code vérifiant la dépassement (un remplaçant exit(1) par exit(0)), je devrais juste avoir une "mauvaise réponse", mais j'obtiens toujours une erreur. |
|
|
|
#12 |
|
Messages: n/a
Hébergeur: |
David Fleury <dfleury2@libertysurf.fr> writes:
> Pascal J. Bourguignon a écrit : >> Fabien LE LEZ <gramster@gramster.com> writes: >> >>> On Fri, 11 Apr 2008 10:41:55 +0200, pjb@informatimago.com (Pascal J. >>> Bourguignon): >>> >>>> Ce qui donne, en 32-bit: >>>> echo 1 10000000|./syracuse-c >>>> Arithemtic overflow on 113383 >>> Arf, effectivement, je n'y avais même pas pensé. >>> Par contre, je ne comprends pas pourquoi le programme plante. n*3+1 >>> devrait donner une valeur (éventuellement fausse au sens arithmétique) >>> pour tout n, sans plantage, non ? >> Non, les débordement peuvent produire n'importe quel résultat, comme >> le déclanchement de la quatrième guerre mondiale, ou la sortie de >> démons nasaux. En clair, chaque compilateur fait ce qu'il veut. >> > > J'étais étonné de la différence pour le même oss, le même code, > et un compilo différent. > > Ce qui m'embête toujours un peu , c'est qu'en utilisant le code > vérifiant la dépassement (un remplaçant exit(1) par exit(0)), je > devrais > juste avoir une "mauvaise réponse", mais j'obtiens toujours une erreur. Alors là, je ne sais pas. Essaye d'exécuter le programme sous gdb et voir où exactement se situe l'erreur. -- __Pascal Bourguignon__ http://www.informatimago.com/ WARNING: This product attracts every other piece of matter in the universe, including the products of other manufacturers, with a force proportional to the product of the masses and inversely proportional to the distance between them. |
|
![]() |
| Outils de la discussion | |
|
|