oué !
je ne connaissais pas (encore) enumerate. C'est plus lisible, je vais m'en servir très vite :)
sinon, précision utile pour le lecteur de passage, msieur_happy répond en fait au commentaire que j'ai posté dans l'entrée du forum sur le sujet :)
(cf lien dans le corps du journal)
package main
import "fmt"
const n int = 10000
func main() {
var d [n] int;
for i := 0; i < n; i++ {
d[i] = 1
}
for i := 2; i < n / 2; i++ {
for j := 2 * i; j < n; j += i {
d[j] += i
}
}
for i := 2; i < n; i ++ {
if (d[i] < n) && (i <= d[i]) {
if d[d[i]] == i {
fmt.Print("(", i, d[i], "), ")
}
}
}
fmt.Print("\n")
}
bon, pas sûr qu'on puisse pas faire mieux, c'est limite mon premier essai en go. Chez moi, en faisant 50 itérations sur des entiers jusqu'à 1000000, go prend 15%/20 % de temps de plus que le C. (100 boucles sur 10000, c'est trop court, les fluctuations entre 2 essais sont trop importantes)
Aussi, j'utilise le compilo go qui avait été fourni genre à l'annonce officielle du langage, la dernière version fait peut-être mieux
oui, certes, tout est possible. ça fait peut-être même quinze ans qu'ils préparent en secret ce super hoax, et ils sont même peut-être payé par la CIA pour introduire des défauts de conception dans l'architecture pour qu'on puisse savoir le contenu de ton frigo et le nombre de fois ou tu as promené ton chien.
la paranoïa, c'est une qualité chez un admin sys, mais dans la vraie société, c'est une maladie hein :)
aucun contrat,
il n'y a pas *que* des relations contractuelles dans la vie !
juste un petit détail qu'il serait bon de ne pas oublier : les petit jeunes, là, ils sont pas anonymes. 50 000 $ chacun, c'est pas assez pour que ça vaille le coup de changer de nom après s'être cramés dans les grandes largeurs sur le grand 'Ternet.
c'est toujours délicat de comparer deux langages en traduisant directement l'implémentation d'une syntaxe dans une autre.
accessoirement, ça va pas faire avancer beaucoup le débat, mais là, l'algo est tellement inefficace qu'il *fallait* que j'en écrive un autre :)
NB_ENTRIES = 20000
d = [1] * NB_ENTRIES
for i in xrange(2, NB_ENTRIES / 2):
for j in xrange(2 * i, NB_ENTRIES, i):
d[j] += i
print [sorted((i, d[i])) for i in xrange(0, len(d)) if d[i] < NB_ENTRIES and d[d[i]] == i and i <= d[i]]
t'es complètement passé à côté du journal, la seule phrase à retenir, c'est :
Toute ressemblance avec notre président de la république serait purement fortuite.
les solutions type sympa/mailman, c'est, à mon avis, le meilleur compromis.
il faut être inscrit pour pouvoir poster (ce qui limite le spam), une simple adresse e-mail suffit (ce qui limite l'overhead à l'inscription) et la désinscription est simple.
On ne parlera pas de l'impossibilité de dire qu'on veut déclarer à l'avance ses variables pour au moins éviter les typos
Pour pratiquer abondamment le python, je me suis rarement fait piéger par ça. Je ne tape le nom complet d'une variable qu'une seule fois, ensuite, je laisse faire l'auto complétion (qui a le bon goût de préserver mes erreurs typographiques)
tss tss tss réflex de Windowsien ça ... :D
si ça se passe mieux après le redémarrage, le problème n'est pas identifié, et du coup, si ça se reproduit, on en est toujours au même point.
je précise, c'est l'association version paire <-> stable, version impaire <-> instable qui n'a plus trop lieu. Ca se joue maintenant sur les différentes branches git des développeurs.
Le noyau Linux a la forme xx.yy.zz mais quand yy est impair, c'est la version de développement, quand yy est pair, c'est la version stable.
C'était comme ça avant, mais depuis que le processus de dev du noyau a été révolutionné par l'utilisation des gestionnaires de conf distribués, je crois que cette histoire de stable/instable a été complètement abandonnée.
si j'avais le courage, je chercherais une référence, mais là, non.
sous vim par exemple, dès qu'un type apparaît au moins une fois dans un fichier ouvert, il suffit d'en taper les premières lettres et de demander la complétion (à coups de Ctrl-p ou Ctrl-n).
maintenant, si tu n'utilises pas un vrai éditeur de texte ... (troll inside :)
[^] # Re: Très bien, mais…
Posté par gaaaaaAab . En réponse au journal Journal contre le fanascisme. Évalué à 8.
[^] # Re: Code lua toto2
Posté par gaaaaaAab . En réponse au journal Javascript plus rapide que python ! (une suite possible). Évalué à 2.
je ne connaissais pas (encore) enumerate. C'est plus lisible, je vais m'en servir très vite :)
sinon, précision utile pour le lecteur de passage, msieur_happy répond en fait au commentaire que j'ai posté dans l'entrée du forum sur le sujet :)
(cf lien dans le corps du journal)
# go !
Posté par gaaaaaAab . En réponse au journal Javascript plus rapide que python ! (une suite possible). Évalué à 4.
[^] # Re: Code lua toto2
Posté par gaaaaaAab . En réponse au journal Javascript plus rapide que python ! (une suite possible). Évalué à 2.
à noter qu'il y a un appel à sorted inutile dans mon code python, scorie pas nettoyée d'une version intermédiaire.
[^] # Re: Plus précis stp....
Posté par gaaaaaAab . En réponse au message Logiciel de PLV. Évalué à 1.
non, avant, y avait ed !
[^] # Re: Pessimiste
Posté par gaaaaaAab . En réponse au journal Diaspora: Arnaque ou pas?. Évalué à 3.
la paranoïa, c'est une qualité chez un admin sys, mais dans la vraie société, c'est une maladie hein :)
[^] # Re: Pessimiste
Posté par gaaaaaAab . En réponse au journal Diaspora: Arnaque ou pas?. Évalué à 2.
il n'y a pas *que* des relations contractuelles dans la vie !
juste un petit détail qu'il serait bon de ne pas oublier : les petit jeunes, là, ils sont pas anonymes. 50 000 $ chacun, c'est pas assez pour que ça vaille le coup de changer de nom après s'être cramés dans les grandes largeurs sur le grand 'Ternet.
# [HS] algo
Posté par gaaaaaAab . En réponse au message Javascript plus rapide que python !. Évalué à 6.
# html ?
Posté par gaaaaaAab . En réponse au message SMTPHandler et unicode. Évalué à 1.
cf http://bytes.com/topic/python/answers/654221-unicode-html-en(...)
[^] # Re: /o\
Posté par gaaaaaAab . En réponse au journal La fin d'une époque. Évalué à 4.
Toute ressemblance avec notre président de la république serait purement fortuite.
[^] # Re: C'est merveilleux
Posté par gaaaaaAab . En réponse au journal La fin d'une époque. Évalué à 3.
# dpkg
Posté par gaaaaaAab . En réponse au message Modules son disparus. Évalué à 1.
(man dpkg)
[^] # Re: Spam
Posté par gaaaaaAab . En réponse au journal P****n de Google Groups. Évalué à 1.
il faut être inscrit pour pouvoir poster (ce qui limite le spam), une simple adresse e-mail suffit (ce qui limite l'overhead à l'inscription) et la désinscription est simple.
# ni list ni dico !
Posté par gaaaaaAab . En réponse au message dictionnaire ou liste ?. Évalué à 1.
Du coup, entre dictionnaires et listes, mieux vaut utiliser des listes.
Sinon, sans trop trop chercher, je suis tombé sur ça [1], qui conseille l'utilisation de numpy [2].
[1] http://ubuntuforums.org/showthread.php?t=127426
[2] http://numpy.scipy.org/
[^] # Re: Question déjà posée sur le forum ;-)
Posté par gaaaaaAab . En réponse au message C/commande : nombre de fichiers sur une partition/disque. Évalué à 3.
[^] # Re: Encapsulation
Posté par gaaaaaAab . En réponse au journal Journal inutile : Python c'est complêtement pourri, j'ai un exemple. Évalué à 1.
Qu'appelles-tu "ingénieur logiciel" ?
[^] # Re: Avant après
Posté par gaaaaaAab . En réponse au journal Journal inutile : Python c'est complêtement pourri, j'ai un exemple. Évalué à 2.
Se débarrasser de ces noms moisis, j'ai du mal à le voir comme une régression, mais bon, question d'appréciation.
[^] # Re: Pourquoi les gens critiquent toujours python avec de mauvais argumen
Posté par gaaaaaAab . En réponse au journal Journal inutile : Python c'est complêtement pourri, j'ai un exemple. Évalué à 2.
Pour pratiquer abondamment le python, je me suis rarement fait piéger par ça. Je ne tape le nom complet d'une variable qu'une seule fois, ensuite, je laisse faire l'auto complétion (qui a le bon goût de préserver mes erreurs typographiques)
ça marche aussi avec les langages de scripts.
[^] # Re: Monsieur Propre
Posté par gaaaaaAab . En réponse au message Oû sont passé mes kilos ?. Évalué à 5.
tss tss tss réflex de Windowsien ça ... :D
si ça se passe mieux après le redémarrage, le problème n'est pas identifié, et du coup, si ça se reproduit, on en est toujours au même point.
[^] # Re: fichier ou mémoire partagée
Posté par gaaaaaAab . En réponse au message Taille d'un argument passé en ligne de commande limité !. Évalué à 2.
je ne réagissais qu'à la phrase qui, en elle même, me paraissait incorrecte, mais sur le fond, je suis d'accord avec ton analyse.
[^] # Re: fichier ou mémoire partagée
Posté par gaaaaaAab . En réponse au message Taille d'un argument passé en ligne de commande limité !. Évalué à 2.
tant que ça swap pas
[^] # Re: je me joins à ton enthousiasme
Posté par gaaaaaAab . En réponse au journal Ubuntu 10.04 : j'ai compris le 10.04! Yeah!. Évalué à 5.
[^] # Re: je me joins à ton enthousiasme
Posté par gaaaaaAab . En réponse au journal Ubuntu 10.04 : j'ai compris le 10.04! Yeah!. Évalué à 4.
C'était comme ça avant, mais depuis que le processus de dev du noyau a été révolutionné par l'utilisation des gestionnaires de conf distribués, je crois que cette histoire de stable/instable a été complètement abandonnée.
si j'avais le courage, je chercherais une référence, mais là, non.
[^] # Re: utilisation et usage
Posté par gaaaaaAab . En réponse au journal The Google problem. Évalué à 2.
http://www.theregister.co.uk/2010/04/22/google_streetview_lo(...)
[^] # Re: très utile
Posté par gaaaaaAab . En réponse au message J'EN AI MARRE;;;. Évalué à 2.
sous vim par exemple, dès qu'un type apparaît au moins une fois dans un fichier ouvert, il suffit d'en taper les premières lettres et de demander la complétion (à coups de Ctrl-p ou Ctrl-n).
maintenant, si tu n'utilises pas un vrai éditeur de texte ... (troll inside :)