Sub Changer_100() Dim n As Integer, s As Integer For n = 0 To 10 s = s + Round((10 * n + 4) ^ 2 / 20) * Round((14 - n) ^ 2 / 20) Next n MsgBox Format(s, "#,##0") End Sub
Serge
"gee-dee-" a écrit dans le message de news: #jyBDo#
Bonsoir Serge la réponse est 4562 façons différentes (il me semble que la solution avait été donnée trés rapidement, malgré l'énoncé erroné de 500$ ) ;-)))) moi j'avais éxplosé ma feuille de calcul .
mais si l'on oblige l'utilisation d'au moins un billet ou pièce de chaque
valeur le nombre de façon chute à : 15 @+
"garnote" a écrit dans le message de news:GWjRa.47566$
Non seulement je n'ai pas répondu, (maudites vacances !) mais il fallait lire : De combien de façons différentes peut-on obtenir 100$ (et non pas 500$) en utilisant des billets de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
"Daniel.M" a écrit dans le message de news: #
Pas de challenge pour moi, cet été !
Ouais, il est vraiment en vacances, notre Serge. Il ne répond guère plus
à
ceux qui répondent à tes challenges (i.e. Une Colle VBA) ...
Salutations quand même ;-)
Daniel M.
Et pour 500 ? C'est quoi ton code?
Salutations,
Daniel M.
"garnote" <laogarno@globetrotter.net> wrote in message
news:NxkRa.47569$q42.30847@charlie.risq.qc.ca...
J'ai retrouvé ma solution qui donne bien 4 562 :
Sub Changer_100()
Dim n As Integer, s As Integer
For n = 0 To 10
s = s + Round((10 * n + 4) ^ 2 / 20) * Round((14 - n) ^ 2 / 20)
Next n
MsgBox Format(s, "#,##0")
End Sub
Serge
"gee-dee-" <gee-dee-@msixnet.fr> a écrit dans le message de news:
#jyBDo#SDHA.1920@TK2MSFTNGP11.phx.gbl...
Bonsoir Serge
la réponse est 4562 façons différentes
(il me semble que la solution avait été donnée trés rapidement, malgré
l'énoncé erroné de 500$ )
;-)))) moi j'avais éxplosé ma feuille de calcul .
mais si l'on oblige l'utilisation d'au moins un billet ou pièce de
chaque
valeur
le nombre de façon chute à : 15
@+
"garnote" <laogarno@globetrotter.net> a écrit dans le message de
news:GWjRa.47566$q42.37191@charlie.risq.qc.ca...
Non seulement je n'ai pas répondu, (maudites vacances !)
mais il fallait lire :
De combien de façons différentes peut-on obtenir
100$ (et non pas 500$) en utilisant des billets
de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
"Daniel.M" <daniel.maher@bigfoot.com> a écrit dans le message de news:
#l2Utx9SDHA.2768@tk2msftngp13.phx.gbl...
Pas de challenge pour moi, cet été !
Ouais, il est vraiment en vacances, notre Serge. Il ne répond guère
plus
à
ceux qui répondent à tes challenges (i.e. Une Colle VBA) ...
Sub Changer_100() Dim n As Integer, s As Integer For n = 0 To 10 s = s + Round((10 * n + 4) ^ 2 / 20) * Round((14 - n) ^ 2 / 20) Next n MsgBox Format(s, "#,##0") End Sub
Serge
"gee-dee-" a écrit dans le message de news: #jyBDo#
Bonsoir Serge la réponse est 4562 façons différentes (il me semble que la solution avait été donnée trés rapidement, malgré l'énoncé erroné de 500$ ) ;-)))) moi j'avais éxplosé ma feuille de calcul .
mais si l'on oblige l'utilisation d'au moins un billet ou pièce de chaque
valeur le nombre de façon chute à : 15 @+
"garnote" a écrit dans le message de news:GWjRa.47566$
Non seulement je n'ai pas répondu, (maudites vacances !) mais il fallait lire : De combien de façons différentes peut-on obtenir 100$ (et non pas 500$) en utilisant des billets de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
"Daniel.M" a écrit dans le message de news: #
Pas de challenge pour moi, cet été !
Ouais, il est vraiment en vacances, notre Serge. Il ne répond guère plus
à
ceux qui répondent à tes challenges (i.e. Une Colle VBA) ...
Salutations quand même ;-)
Daniel M.
Daniel.M
En effet. Et c'est bien le clin d'oeil que ma réponse d'alors suggérait.
"garnote" wrote in message news:GWjRa.47566$
Non seulement je n'ai pas répondu, (maudites vacances !) mais il fallait lire : De combien de façons différentes peut-on obtenir 100$ (et non pas 500$) en utilisant des billets de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
En effet. Et c'est bien le clin d'oeil que ma réponse d'alors suggérait.
"garnote" <laogarno@globetrotter.net> wrote in message
news:GWjRa.47566$q42.37191@charlie.risq.qc.ca...
Non seulement je n'ai pas répondu, (maudites vacances !)
mais il fallait lire :
De combien de façons différentes peut-on obtenir
100$ (et non pas 500$) en utilisant des billets
de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
En effet. Et c'est bien le clin d'oeil que ma réponse d'alors suggérait.
"garnote" wrote in message news:GWjRa.47566$
Non seulement je n'ai pas répondu, (maudites vacances !) mais il fallait lire : De combien de façons différentes peut-on obtenir 100$ (et non pas 500$) en utilisant des billets de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
Jean-François Aubert
.....ne suis pas sûr que d'ici à Noël me suffira à comprendre cette formule.....
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"garnote" a écrit dans le message de news:NxkRa.47569$
J'ai retrouvé ma solution qui donne bien 4 562 :
Sub Changer_100() Dim n As Integer, s As Integer For n = 0 To 10 s = s + Round((10 * n + 4) ^ 2 / 20) * Round((14 - n) ^ 2 / 20) Next n MsgBox Format(s, "#,##0") End Sub
Serge
"gee-dee-" a écrit dans le message de news: #jyBDo#
Bonsoir Serge la réponse est 4562 façons différentes (il me semble que la solution avait été donnée trés rapidement, malgré l'énoncé erroné de 500$ ) ;-)))) moi j'avais éxplosé ma feuille de calcul .
mais si l'on oblige l'utilisation d'au moins un billet ou pièce de chaque valeur le nombre de façon chute à : 15 @+
"garnote" a écrit dans le message de news:GWjRa.47566$
Non seulement je n'ai pas répondu, (maudites vacances !) mais il fallait lire : De combien de façons différentes peut-on obtenir 100$ (et non pas 500$) en utilisant des billets de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
"Daniel.M" a écrit dans le message de news: #
Pas de challenge pour moi, cet été !
Ouais, il est vraiment en vacances, notre Serge. Il ne répond guère plus
à
ceux qui répondent à tes challenges (i.e. Une Colle VBA) ...
Salutations quand même ;-)
Daniel M.
.....ne suis pas sûr que d'ici à Noël me suffira à comprendre cette formule.....
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"garnote" <laogarno@globetrotter.net> a écrit dans le message de
news:NxkRa.47569$q42.30847@charlie.risq.qc.ca...
J'ai retrouvé ma solution qui donne bien 4 562 :
Sub Changer_100()
Dim n As Integer, s As Integer
For n = 0 To 10
s = s + Round((10 * n + 4) ^ 2 / 20) * Round((14 - n) ^ 2 / 20)
Next n
MsgBox Format(s, "#,##0")
End Sub
Serge
"gee-dee-" <gee-dee-@msixnet.fr> a écrit dans le message de news:
#jyBDo#SDHA.1920@TK2MSFTNGP11.phx.gbl...
Bonsoir Serge
la réponse est 4562 façons différentes
(il me semble que la solution avait été donnée trés rapidement, malgré
l'énoncé erroné de 500$ )
;-)))) moi j'avais éxplosé ma feuille de calcul .
mais si l'on oblige l'utilisation d'au moins un billet ou pièce de chaque
valeur
le nombre de façon chute à : 15
@+
"garnote" <laogarno@globetrotter.net> a écrit dans le message de
news:GWjRa.47566$q42.37191@charlie.risq.qc.ca...
Non seulement je n'ai pas répondu, (maudites vacances !)
mais il fallait lire :
De combien de façons différentes peut-on obtenir
100$ (et non pas 500$) en utilisant des billets
de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
"Daniel.M" <daniel.maher@bigfoot.com> a écrit dans le message de news:
#l2Utx9SDHA.2768@tk2msftngp13.phx.gbl...
Pas de challenge pour moi, cet été !
Ouais, il est vraiment en vacances, notre Serge. Il ne répond guère
plus
à
ceux qui répondent à tes challenges (i.e. Une Colle VBA) ...
.....ne suis pas sûr que d'ici à Noël me suffira à comprendre cette formule.....
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"garnote" a écrit dans le message de news:NxkRa.47569$
J'ai retrouvé ma solution qui donne bien 4 562 :
Sub Changer_100() Dim n As Integer, s As Integer For n = 0 To 10 s = s + Round((10 * n + 4) ^ 2 / 20) * Round((14 - n) ^ 2 / 20) Next n MsgBox Format(s, "#,##0") End Sub
Serge
"gee-dee-" a écrit dans le message de news: #jyBDo#
Bonsoir Serge la réponse est 4562 façons différentes (il me semble que la solution avait été donnée trés rapidement, malgré l'énoncé erroné de 500$ ) ;-)))) moi j'avais éxplosé ma feuille de calcul .
mais si l'on oblige l'utilisation d'au moins un billet ou pièce de chaque valeur le nombre de façon chute à : 15 @+
"garnote" a écrit dans le message de news:GWjRa.47566$
Non seulement je n'ai pas répondu, (maudites vacances !) mais il fallait lire : De combien de façons différentes peut-on obtenir 100$ (et non pas 500$) en utilisant des billets de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
"Daniel.M" a écrit dans le message de news: #
Pas de challenge pour moi, cet été !
Ouais, il est vraiment en vacances, notre Serge. Il ne répond guère plus
à
ceux qui répondent à tes challenges (i.e. Une Colle VBA) ...
Salutations quand même ;-)
Daniel M.
Daniel.M
Bonsoir,
la réponse est 4562 façons différentes (il me semble que la solution avait été donnée trés rapidement, malgré l'énoncé erroné de 500$ )
Par qui? Et où est la solution complète -- pas juste le chiffre --car je l'ai manquée (hyperlien sur google SVP) ?
Je me souviens que le serveur MS faisait des siennes durant cette période.
Salutations,
Daniel M.
Bonsoir,
la réponse est 4562 façons différentes
(il me semble que la solution avait été donnée trés rapidement, malgré
l'énoncé erroné de 500$ )
Par qui? Et où est la solution complète -- pas juste le chiffre --car je
l'ai manquée (hyperlien sur google SVP) ?
Je me souviens que le serveur MS faisait des siennes durant cette période.
la réponse est 4562 façons différentes (il me semble que la solution avait été donnée trés rapidement, malgré l'énoncé erroné de 500$ )
Par qui? Et où est la solution complète -- pas juste le chiffre --car je l'ai manquée (hyperlien sur google SVP) ?
Je me souviens que le serveur MS faisait des siennes durant cette période.
Salutations,
Daniel M.
garnote
Si tu voyais le raisonnement qui y mène, tu ferais comme moi, tu remettrais ça aux calendes grecques !!!
;-)))
Serge
"Jean-François Aubert" <à a écrit dans le message de news:
.....ne suis pas sûr que d'ici à Noël me suffira à comprendre cette formule.....
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"garnote" a écrit dans le message de news:NxkRa.47569$
J'ai retrouvé ma solution qui donne bien 4 562 :
Sub Changer_100() Dim n As Integer, s As Integer For n = 0 To 10 s = s + Round((10 * n + 4) ^ 2 / 20) * Round((14 - n) ^ 2 / 20) Next n MsgBox Format(s, "#,##0") End Sub
Serge
"gee-dee-" a écrit dans le message de news: #jyBDo#
Bonsoir Serge la réponse est 4562 façons différentes (il me semble que la solution avait été donnée trés rapidement, malgré
l'énoncé erroné de 500$ ) ;-)))) moi j'avais éxplosé ma feuille de calcul .
mais si l'on oblige l'utilisation d'au moins un billet ou pièce de chaque
valeur le nombre de façon chute à : 15 @+
"garnote" a écrit dans le message de news:GWjRa.47566$
Non seulement je n'ai pas répondu, (maudites vacances !) mais il fallait lire : De combien de façons différentes peut-on obtenir 100$ (et non pas 500$) en utilisant des billets de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
"Daniel.M" a écrit dans le message de news:
#
Pas de challenge pour moi, cet été !
Ouais, il est vraiment en vacances, notre Serge. Il ne répond guère
plus
à
ceux qui répondent à tes challenges (i.e. Une Colle VBA) ...
Salutations quand même ;-)
Daniel M.
Si tu voyais le raisonnement qui y mène, tu ferais comme moi,
tu remettrais ça aux calendes grecques !!!
;-)))
Serge
"Jean-François Aubert" <àOterjfaubert@bluewin.ch> a écrit dans le message de
news: 3f15dade_1@news.bluewin.ch...
.....ne suis pas sûr que d'ici à Noël me suffira à comprendre cette
formule.....
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"garnote" <laogarno@globetrotter.net> a écrit dans le message de
news:NxkRa.47569$q42.30847@charlie.risq.qc.ca...
J'ai retrouvé ma solution qui donne bien 4 562 :
Sub Changer_100()
Dim n As Integer, s As Integer
For n = 0 To 10
s = s + Round((10 * n + 4) ^ 2 / 20) * Round((14 - n) ^ 2 / 20)
Next n
MsgBox Format(s, "#,##0")
End Sub
Serge
"gee-dee-" <gee-dee-@msixnet.fr> a écrit dans le message de news:
#jyBDo#SDHA.1920@TK2MSFTNGP11.phx.gbl...
Bonsoir Serge
la réponse est 4562 façons différentes
(il me semble que la solution avait été donnée trés rapidement,
malgré
l'énoncé erroné de 500$ )
;-)))) moi j'avais éxplosé ma feuille de calcul .
mais si l'on oblige l'utilisation d'au moins un billet ou pièce de
chaque
valeur
le nombre de façon chute à : 15
@+
"garnote" <laogarno@globetrotter.net> a écrit dans le message de
news:GWjRa.47566$q42.37191@charlie.risq.qc.ca...
Non seulement je n'ai pas répondu, (maudites vacances !)
mais il fallait lire :
De combien de façons différentes peut-on obtenir
100$ (et non pas 500$) en utilisant des billets
de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
"Daniel.M" <daniel.maher@bigfoot.com> a écrit dans le message de
news:
#l2Utx9SDHA.2768@tk2msftngp13.phx.gbl...
Pas de challenge pour moi, cet été !
Ouais, il est vraiment en vacances, notre Serge. Il ne répond
guère
plus
à
ceux qui répondent à tes challenges (i.e. Une Colle VBA) ...
Si tu voyais le raisonnement qui y mène, tu ferais comme moi, tu remettrais ça aux calendes grecques !!!
;-)))
Serge
"Jean-François Aubert" <à a écrit dans le message de news:
.....ne suis pas sûr que d'ici à Noël me suffira à comprendre cette formule.....
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"garnote" a écrit dans le message de news:NxkRa.47569$
J'ai retrouvé ma solution qui donne bien 4 562 :
Sub Changer_100() Dim n As Integer, s As Integer For n = 0 To 10 s = s + Round((10 * n + 4) ^ 2 / 20) * Round((14 - n) ^ 2 / 20) Next n MsgBox Format(s, "#,##0") End Sub
Serge
"gee-dee-" a écrit dans le message de news: #jyBDo#
Bonsoir Serge la réponse est 4562 façons différentes (il me semble que la solution avait été donnée trés rapidement, malgré
l'énoncé erroné de 500$ ) ;-)))) moi j'avais éxplosé ma feuille de calcul .
mais si l'on oblige l'utilisation d'au moins un billet ou pièce de chaque
valeur le nombre de façon chute à : 15 @+
"garnote" a écrit dans le message de news:GWjRa.47566$
Non seulement je n'ai pas répondu, (maudites vacances !) mais il fallait lire : De combien de façons différentes peut-on obtenir 100$ (et non pas 500$) en utilisant des billets de 5$, 10$, 20$, et 50$ et des pièces de 1$ et 2$ ?
Serge
"Daniel.M" a écrit dans le message de news:
#
Pas de challenge pour moi, cet été !
Ouais, il est vraiment en vacances, notre Serge. Il ne répond guère
plus
à
ceux qui répondent à tes challenges (i.e. Une Colle VBA) ...
Salutations quand même ;-)
Daniel M.
Daniel.M
Merci Serge,
1-Donc, il n'y avait pas de solution (code) publiée sur MPFE.
2-Je comprends de ta réponse à Jean-François que tu n'as pas encore de solution généralisable à d'autres entiers. Le raisonnement sousjacent à ton code serait particulier pour 100. Est-ce exact?
Salutations,
Daniel M.
J'ai reçu en bal perso, le 9 juillet, cette macro d'Alexandre Côté :
Merci Serge,
1-Donc, il n'y avait pas de solution (code) publiée sur MPFE.
2-Je comprends de ta réponse à Jean-François que tu n'as pas encore de
solution généralisable à d'autres entiers. Le raisonnement
sousjacent à ton code serait particulier pour 100. Est-ce exact?
Salutations,
Daniel M.
J'ai reçu en bal perso, le 9 juillet, cette macro d'Alexandre Côté :
1-Donc, il n'y avait pas de solution (code) publiée sur MPFE.
2-Je comprends de ta réponse à Jean-François que tu n'as pas encore de solution généralisable à d'autres entiers. Le raisonnement sousjacent à ton code serait particulier pour 100. Est-ce exact?
Salutations,
Daniel M.
J'ai reçu en bal perso, le 9 juillet, cette macro d'Alexandre Côté :
Daniel.M
Oui Jean-François,
Pour l'autre (somme/soustraction des nombres avec 1 jusqu'à 9), elle est encore sur Google (recherche sur "Devinette numérique").
Pour celle-ci, Serge vient de publier celle qu'il avait et celle d'Alexandre (2 solutions).
Salutations,
Daniel M.
"Jean-François Aubert" <à wrote in message news:3f16013f$
Daniel, Serge,
Si, si, je crois qu'il y avait une solution publiée sur le forum. Ou en tout cas pour l'autre colle VBA de Serge, celle de l'utilisation des nombres de 1 à 89 ou 99 additionné ou soustrait pour arrivé à une somme de 100. Il vrai que plusieurs messages de cette période ont disparu corps et âmes, et je n'ai malheureusement pas gardé ces codes.....
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Daniel.M" a écrit dans le message de news:O3VqR0$
Merci Serge,
1-Donc, il n'y avait pas de solution (code) publiée sur MPFE.
2-Je comprends de ta réponse à Jean-François que tu n'as pas encore de solution généralisable à d'autres entiers. Le raisonnement sousjacent à ton code serait particulier pour 100. Est-ce exact?
Salutations,
Daniel M.
J'ai reçu en bal perso, le 9 juillet, cette macro d'Alexandre Côté :
Oui Jean-François,
Pour l'autre (somme/soustraction des nombres avec 1 jusqu'à 9), elle est
encore sur Google (recherche sur "Devinette numérique").
Pour celle-ci, Serge vient de publier celle qu'il avait et celle d'Alexandre
(2 solutions).
Salutations,
Daniel M.
"Jean-François Aubert" <àOterjfaubert@bluewin.ch> wrote in message
news:3f16013f$1_4@news.bluewin.ch...
Daniel, Serge,
Si, si, je crois qu'il y avait une solution publiée sur le forum.
Ou en tout cas pour l'autre colle VBA de Serge, celle
de l'utilisation des nombres de 1 à 89 ou 99 additionné ou soustrait
pour arrivé à une somme de 100.
Il vrai que plusieurs messages de cette période ont disparu corps et âmes,
et je n'ai malheureusement pas gardé ces codes.....
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"Daniel.M" <daniel.maher@bigfoot.com> a écrit dans le message de
news:O3VqR0$SDHA.2148@TK2MSFTNGP12.phx.gbl...
Merci Serge,
1-Donc, il n'y avait pas de solution (code) publiée sur MPFE.
2-Je comprends de ta réponse à Jean-François que tu n'as pas encore de
solution généralisable à d'autres entiers. Le raisonnement
sousjacent à ton code serait particulier pour 100. Est-ce exact?
Salutations,
Daniel M.
J'ai reçu en bal perso, le 9 juillet, cette macro d'Alexandre Côté :
Pour l'autre (somme/soustraction des nombres avec 1 jusqu'à 9), elle est encore sur Google (recherche sur "Devinette numérique").
Pour celle-ci, Serge vient de publier celle qu'il avait et celle d'Alexandre (2 solutions).
Salutations,
Daniel M.
"Jean-François Aubert" <à wrote in message news:3f16013f$
Daniel, Serge,
Si, si, je crois qu'il y avait une solution publiée sur le forum. Ou en tout cas pour l'autre colle VBA de Serge, celle de l'utilisation des nombres de 1 à 89 ou 99 additionné ou soustrait pour arrivé à une somme de 100. Il vrai que plusieurs messages de cette période ont disparu corps et âmes, et je n'ai malheureusement pas gardé ces codes.....
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Daniel.M" a écrit dans le message de news:O3VqR0$
Merci Serge,
1-Donc, il n'y avait pas de solution (code) publiée sur MPFE.
2-Je comprends de ta réponse à Jean-François que tu n'as pas encore de solution généralisable à d'autres entiers. Le raisonnement sousjacent à ton code serait particulier pour 100. Est-ce exact?
Salutations,
Daniel M.
J'ai reçu en bal perso, le 9 juillet, cette macro d'Alexandre Côté :
Daniel.M
Salut Serge,
Ce sont des délires combinatoires qui mènent à ce résultat.
En espérant que mon code te soit plus 'parlant'. ;-)) C'est relativement court (<10 lignes) à cause de la solution récursive.
Ça vaut pour les entiers (par juste 100): Tu changes le premier argument à NCombine.
' **************** ' Daniel M. Juillet 2003 Dim Billets As Variant
Sub Test_NCombine() Billets = Array(1, 2, 5, 10, 20, 50) MsgBox NCombine(100, 6) ' 6 = nombre d'éléments dans Billets End Sub
Public Function NCombine(ByVal n%, ByVal panier%) As Long Dim i% If panier <= 2 Then If panier = 2 Then NCombine = Int(n / Billets(1)) + 1& Exit Function End If
For i = Int(n / Billets(panier - 1)) To 0 Step -1 NCombine = NCombine + NCombine(n - i * Billets(panier-1), panier-1) Next i End Function ' ****************
Salutations,
Daniel M.
Salut Serge,
Ce sont des délires combinatoires qui mènent à ce résultat.
En espérant que mon code te soit plus 'parlant'. ;-))
C'est relativement court (<10 lignes) à cause de la solution récursive.
Ça vaut pour les entiers (par juste 100): Tu changes le premier argument à
NCombine.
' ****************
' Daniel M. Juillet 2003
Dim Billets As Variant
Sub Test_NCombine()
Billets = Array(1, 2, 5, 10, 20, 50)
MsgBox NCombine(100, 6) ' 6 = nombre d'éléments dans Billets
End Sub
Public Function NCombine(ByVal n%, ByVal panier%) As Long
Dim i%
If panier <= 2 Then
If panier = 2 Then NCombine = Int(n / Billets(1)) + 1&
Exit Function
End If
For i = Int(n / Billets(panier - 1)) To 0 Step -1
NCombine = NCombine + NCombine(n - i * Billets(panier-1), panier-1)
Next i
End Function
' ****************
Ce sont des délires combinatoires qui mènent à ce résultat.
En espérant que mon code te soit plus 'parlant'. ;-)) C'est relativement court (<10 lignes) à cause de la solution récursive.
Ça vaut pour les entiers (par juste 100): Tu changes le premier argument à NCombine.
' **************** ' Daniel M. Juillet 2003 Dim Billets As Variant
Sub Test_NCombine() Billets = Array(1, 2, 5, 10, 20, 50) MsgBox NCombine(100, 6) ' 6 = nombre d'éléments dans Billets End Sub
Public Function NCombine(ByVal n%, ByVal panier%) As Long Dim i% If panier <= 2 Then If panier = 2 Then NCombine = Int(n / Billets(1)) + 1& Exit Function End If
For i = Int(n / Billets(panier - 1)) To 0 Step -1 NCombine = NCombine + NCombine(n - i * Billets(panier-1), panier-1) Next i End Function ' ****************
Salutations,
Daniel M.
isabelle
salut Serge,
Ce sont des délires combinatoires qui mènent à ce résultat.
on dirait bien que c'est de l'algèbre de Boole
isabelle
salut Serge,
Ce sont des délires combinatoires qui mènent à ce résultat.