Le « début » en question consiste à partir de la suite des nombres de 1
à 200 (dans un vector, je suppose), pour chaque nombre de déterminer la
liste ordonnée de ses diviseurs (dans d'autres vector sans doute),
Le « début » en question consiste à partir de la suite des nombres de 1
à 200 (dans un vector, je suppose), pour chaque nombre de déterminer la
liste ordonnée de ses diviseurs (dans d'autres vector sans doute),
Le « début » en question consiste à partir de la suite des nombres de 1
à 200 (dans un vector, je suppose), pour chaque nombre de déterminer la
liste ordonnée de ses diviseurs (dans d'autres vector sans doute),
On Tue, 05 Oct 2010 01:14:20 +0200, Olivier Miakinen
<om+:
En revanche, réimplémenter la commande Unix "sort" (qui lit un fichie r
ligne par ligne, et le régurgite en triant les lignes) pourrait
s'avérer un exercice intéressant.
On Tue, 05 Oct 2010 01:14:20 +0200, Olivier Miakinen
<om+n...@miakinen.net>:
En revanche, réimplémenter la commande Unix "sort" (qui lit un fichie r
ligne par ligne, et le régurgite en triant les lignes) pourrait
s'avérer un exercice intéressant.
On Tue, 05 Oct 2010 01:14:20 +0200, Olivier Miakinen
<om+:
En revanche, réimplémenter la commande Unix "sort" (qui lit un fichie r
ligne par ligne, et le régurgite en triant les lignes) pourrait
s'avérer un exercice intéressant.
Si le fichier tiens en mémoire, c'est trivial (std::sort).
Sinon, ça se complique, parce qu'on veut tenir un maximum en
mémoire à la fois, ce qui exclut std::vector
(et
std::bad_alloc -- c'est un cas où new(nothrow) s'impose).
Si le fichier tiens en mémoire, c'est trivial (std::sort).
Sinon, ça se complique, parce qu'on veut tenir un maximum en
mémoire à la fois, ce qui exclut std::vector
(et
std::bad_alloc -- c'est un cas où new(nothrow) s'impose).
Si le fichier tiens en mémoire, c'est trivial (std::sort).
Sinon, ça se complique, parce qu'on veut tenir un maximum en
mémoire à la fois, ce qui exclut std::vector
(et
std::bad_alloc -- c'est un cas où new(nothrow) s'impose).
Le « début » en question consiste à partir de la suite des nombres de 1
à 200 (dans un vector, je suppose), pour chaque nombre de déterminer la
liste ordonnée de ses diviseurs (dans d'autres vector sans doute),
Pourquoi voudrais-tu stocker ces informations, s'il s'agit juste de
les afficher ?
[...]
J'ai passé pas mal de temps sur les problèmes de projecteuler.net. Ils
sont intéressants d'un point de vue mathématique, mais ils n'aident
pas du tout à acquérir de bons réflexes en C++.
En revanche, réimplémenter la commande Unix "sort" (qui lit un fichier
ligne par ligne, et le régurgite en triant les lignes) pourrait
s'avérer un exercice intéressant.
Le « début » en question consiste à partir de la suite des nombres de 1
à 200 (dans un vector, je suppose), pour chaque nombre de déterminer la
liste ordonnée de ses diviseurs (dans d'autres vector sans doute),
Pourquoi voudrais-tu stocker ces informations, s'il s'agit juste de
les afficher ?
[...]
J'ai passé pas mal de temps sur les problèmes de projecteuler.net. Ils
sont intéressants d'un point de vue mathématique, mais ils n'aident
pas du tout à acquérir de bons réflexes en C++.
En revanche, réimplémenter la commande Unix "sort" (qui lit un fichier
ligne par ligne, et le régurgite en triant les lignes) pourrait
s'avérer un exercice intéressant.
Le « début » en question consiste à partir de la suite des nombres de 1
à 200 (dans un vector, je suppose), pour chaque nombre de déterminer la
liste ordonnée de ses diviseurs (dans d'autres vector sans doute),
Pourquoi voudrais-tu stocker ces informations, s'il s'agit juste de
les afficher ?
[...]
J'ai passé pas mal de temps sur les problèmes de projecteuler.net. Ils
sont intéressants d'un point de vue mathématique, mais ils n'aident
pas du tout à acquérir de bons réflexes en C++.
En revanche, réimplémenter la commande Unix "sort" (qui lit un fichier
ligne par ligne, et le régurgite en triant les lignes) pourrait
s'avérer un exercice intéressant.
je peux te l'envoyer en privé si tu es intéressé.
je peux te l'envoyer en privé si tu es intéressé.
je peux te l'envoyer en privé si tu es intéressé.
On Tue, 05 Oct 2010 13:22:00 +0200, Olivier Miakinen
<om+:je peux te l'envoyer en privé si tu es intéressé.
Effectivement, ce serait sans doute aussi bien.
Enfin, envoie surtout
ta méthode de résolution. Mon adresse reply-to
() est fonctionnelle.
À vue de nez, set<> te sera plus utile que vector<>, mais c'est
difficile d'en dire plus tant que je suis dans le vague.
On Tue, 05 Oct 2010 13:22:00 +0200, Olivier Miakinen
<om+news@miakinen.net>:
je peux te l'envoyer en privé si tu es intéressé.
Effectivement, ce serait sans doute aussi bien.
Enfin, envoie surtout
ta méthode de résolution. Mon adresse reply-to
(usenet19@x.edulang.com) est fonctionnelle.
À vue de nez, set<> te sera plus utile que vector<>, mais c'est
difficile d'en dire plus tant que je suis dans le vague.
On Tue, 05 Oct 2010 13:22:00 +0200, Olivier Miakinen
<om+:je peux te l'envoyer en privé si tu es intéressé.
Effectivement, ce serait sans doute aussi bien.
Enfin, envoie surtout
ta méthode de résolution. Mon adresse reply-to
() est fonctionnelle.
À vue de nez, set<> te sera plus utile que vector<>, mais c'est
difficile d'en dire plus tant que je suis dans le vague.
####################################################################
1re étape
[...]
Algo pour une somme S donnée :
pour tout A entier tel que 2 <= A <= S/2, on calcule P = A*(S-A)
Résultat :
[...]
200 : 396 591 784 ... 9999 10000
####################################################################
1re étape
[...]
Algo pour une somme S donnée :
pour tout A entier tel que 2 <= A <= S/2, on calcule P = A*(S-A)
Résultat :
[...]
200 : 396 591 784 ... 9999 10000
####################################################################
1re étape
[...]
Algo pour une somme S donnée :
pour tout A entier tel que 2 <= A <= S/2, on calcule P = A*(S-A)
Résultat :
[...]
200 : 396 591 784 ... 9999 10000
On Tue, 5 Oct 2010 00:48:56 -0700 (PDT), James Kanze
:
>Si le fichier tiens en mémoire, c'est trivial (std::sort).
Yep, mais c'est tout de même une introduction aux iostreams, et aux
conteneurs et algorithmes.
>Sinon, ça se complique, parce qu'on veut tenir un maximum en
>mémoire à la fois, ce qui exclut std::vector
Oui, c'est un peu moins trivial.
Intuitivement, je dirais qu'il vaut mieux utiliser mmap(), histoire de
ne pas recopier une partie du fichier dans le swap.
S'il n'y a pas trop de lignes, on peut stocker en mémoire l'offset de
chaque ligne et ses premiers octets.
Après, évidemment, il faudra concevoir un algorithme pour tirer le
meilleur parti des pages récemment chargées en RAM physique.
> (et
>std::bad_alloc -- c'est un cas où new(nothrow) s'impose).
Dans quelles conditions un bad_alloc est-il lancé ? Quand l'espace
d'adressage (2 à 3 Go en 32 bits) est plein ?
On Tue, 5 Oct 2010 00:48:56 -0700 (PDT), James Kanze
<james.ka...@gmail.com>:
>Si le fichier tiens en mémoire, c'est trivial (std::sort).
Yep, mais c'est tout de même une introduction aux iostreams, et aux
conteneurs et algorithmes.
>Sinon, ça se complique, parce qu'on veut tenir un maximum en
>mémoire à la fois, ce qui exclut std::vector
Oui, c'est un peu moins trivial.
Intuitivement, je dirais qu'il vaut mieux utiliser mmap(), histoire de
ne pas recopier une partie du fichier dans le swap.
S'il n'y a pas trop de lignes, on peut stocker en mémoire l'offset de
chaque ligne et ses premiers octets.
Après, évidemment, il faudra concevoir un algorithme pour tirer le
meilleur parti des pages récemment chargées en RAM physique.
> (et
>std::bad_alloc -- c'est un cas où new(nothrow) s'impose).
Dans quelles conditions un bad_alloc est-il lancé ? Quand l'espace
d'adressage (2 à 3 Go en 32 bits) est plein ?
On Tue, 5 Oct 2010 00:48:56 -0700 (PDT), James Kanze
:
>Si le fichier tiens en mémoire, c'est trivial (std::sort).
Yep, mais c'est tout de même une introduction aux iostreams, et aux
conteneurs et algorithmes.
>Sinon, ça se complique, parce qu'on veut tenir un maximum en
>mémoire à la fois, ce qui exclut std::vector
Oui, c'est un peu moins trivial.
Intuitivement, je dirais qu'il vaut mieux utiliser mmap(), histoire de
ne pas recopier une partie du fichier dans le swap.
S'il n'y a pas trop de lignes, on peut stocker en mémoire l'offset de
chaque ligne et ses premiers octets.
Après, évidemment, il faudra concevoir un algorithme pour tirer le
meilleur parti des pages récemment chargées en RAM physique.
> (et
>std::bad_alloc -- c'est un cas où new(nothrow) s'impose).
Dans quelles conditions un bad_alloc est-il lancé ? Quand l'espace
d'adressage (2 à 3 Go en 32 bits) est plein ?
On Oct 5, 10:05 am, Fabien LE LEZ wrote:
> On Tue, 5 Oct 2010 00:48:56 -0700 (PDT), James Kanze
> :
> >Si le fichier tiens en mémoire, c'est trivial (std::sort).
> Yep, mais c'est tout de même une introduction aux iostreams, et aux
> conteneurs et algorithmes.
En fait, un niveau encore plus élémentaire que je pensais. En
fait, tu as raison. Pour ça, c'est une très bonne introduction.
On Oct 5, 10:05 am, Fabien LE LEZ <grams...@gramster.com> wrote:
> On Tue, 5 Oct 2010 00:48:56 -0700 (PDT), James Kanze
> <james.ka...@gmail.com>:
> >Si le fichier tiens en mémoire, c'est trivial (std::sort).
> Yep, mais c'est tout de même une introduction aux iostreams, et aux
> conteneurs et algorithmes.
En fait, un niveau encore plus élémentaire que je pensais. En
fait, tu as raison. Pour ça, c'est une très bonne introduction.
On Oct 5, 10:05 am, Fabien LE LEZ wrote:
> On Tue, 5 Oct 2010 00:48:56 -0700 (PDT), James Kanze
> :
> >Si le fichier tiens en mémoire, c'est trivial (std::sort).
> Yep, mais c'est tout de même une introduction aux iostreams, et aux
> conteneurs et algorithmes.
En fait, un niveau encore plus élémentaire que je pensais. En
fait, tu as raison. Pour ça, c'est une très bonne introduction.
James Kanze writes:
> On Oct 5, 10:05 am, Fabien LE LEZ wrote:
> > On Tue, 5 Oct 2010 00:48:56 -0700 (PDT), James Kanze
> > :
> > >Si le fichier tiens en mémoire, c'est trivial (std::sort).
> > Yep, mais c'est tout de même une introduction aux iostreams, et aux
> > conteneurs et algorithmes.
> En fait, un niveau encore plus élémentaire que je pensais. En
> fait, tu as raison. Pour ça, c'est une très bonne introduction.
J'ai deja pose la question en interview. C'est un bon point
de depart pour discutter des variantes avec une grande variete
de niveau de candidats.
James Kanze <james.ka...@gmail.com> writes:
> On Oct 5, 10:05 am, Fabien LE LEZ <grams...@gramster.com> wrote:
> > On Tue, 5 Oct 2010 00:48:56 -0700 (PDT), James Kanze
> > <james.ka...@gmail.com>:
> > >Si le fichier tiens en mémoire, c'est trivial (std::sort).
> > Yep, mais c'est tout de même une introduction aux iostreams, et aux
> > conteneurs et algorithmes.
> En fait, un niveau encore plus élémentaire que je pensais. En
> fait, tu as raison. Pour ça, c'est une très bonne introduction.
J'ai deja pose la question en interview. C'est un bon point
de depart pour discutter des variantes avec une grande variete
de niveau de candidats.
James Kanze writes:
> On Oct 5, 10:05 am, Fabien LE LEZ wrote:
> > On Tue, 5 Oct 2010 00:48:56 -0700 (PDT), James Kanze
> > :
> > >Si le fichier tiens en mémoire, c'est trivial (std::sort).
> > Yep, mais c'est tout de même une introduction aux iostreams, et aux
> > conteneurs et algorithmes.
> En fait, un niveau encore plus élémentaire que je pensais. En
> fait, tu as raison. Pour ça, c'est une très bonne introduction.
J'ai deja pose la question en interview. C'est un bon point
de depart pour discutter des variantes avec une grande variete
de niveau de candidats.