calcul de produit
Répondre à la discussion
Affichage des résultats 1 à 22 sur 22

calcul de produit



  1. #1
    invitea7a1543f

    calcul de produit


    ------

    Bonjour,
    je dois réaliser un programme qui permette de calculer le plus grand nombre possible obtenu en multipliant deux nombre formés de combinaisons des chiffres 3,4,5,9
    Chaque chiffre de peut être utilisé qu'une seule fois.

    J'ai commencé mon programme en mettant toutes les solutions possible. cependant, je pense qu'il y ait une manière plus simple de le faire en créant une boucle for par exemple mais je ne vois pas comment démarrer.

    Pouvez-vous m'aider svp, Merci d'avance

    -----

  2. #2
    PhilTheGap

    Re : calcul de produit

    Citation Envoyé par leon266 Voir le message
    Bonjour,
    je dois réaliser un programme qui permette de calculer le plus grand nombre possible obtenu en multipliant deux nombre formés de combinaisons des chiffres 3,4,5,9
    Chaque chiffre de peut être utilisé qu'une seule fois.

    J'ai commencé mon programme en mettant toutes les solutions possible. cependant, je pense qu'il y ait une manière plus simple de le faire en créant une boucle for par exemple mais je ne vois pas comment démarrer.

    Pouvez-vous m'aider svp, Merci d'avance
    Bonjour

    Je dirais très simplement: 9543x9543, je ne vois pas l'intérêt de faire un programme. Si ta question concerne la programmation elle-même tu n'es pas sur le bon forum.

  3. #3
    pm42

    Re : calcul de produit

    Citation Envoyé par PhilTheGap Voir le message
    Je dirais très simplement: 9543x9543, je ne vois pas l'intérêt de faire un programme.
    Sans doute parce que tu utilises chaque chiffre 2 fois et non pas 1 seule comme précisé.

    Citation Envoyé par PhilTheGap Voir le message
    Si ta question concerne la programmation elle-même tu n'es pas sur le bon forum.
    Sa question est assez intéressante mathématiquement justement une fois qu'on respecte les conditions.

  4. #4
    pm42

    Re : calcul de produit

    Sinon, je me suis amusé à écrire le programme et à essayer avec différentes listes.
    J'ai l'impression que si la liste est de longueur paire n, c'est toujours une combinaison de longueur (n/2, n/2) avec bien sur les plus grands chiffres en 1er.
    Et que cela se démontre facilement mais je n'ai pas poussé.
    Si n est impair, il semblerait que la réponse soit une combinaison de longueur ((n+1)/2, (n-1)/2) mais là aussi, cela mériterait d'être vérifié.

  5. A voir en vidéo sur Futura
  6. #5
    Merlin95

    Re : calcul de produit

    Pourrait on donner un exemple j'ai du mal à comprendre la règle ?

  7. #6
    gg0
    Animateur Mathématiques

    Re : calcul de produit

    94x43 et 954x3 conviennent; 994x543 non.
    Si j'ai bien compris, la règle était floue au départ.

    Cordialement.

  8. #7
    Merlin95

    Re : calcul de produit

    Dans 94x43 on a deux fois le 4, n'est ce pas contraire à la règle ?

  9. #8
    gg0
    Animateur Mathématiques

    Re : calcul de produit

    C'est une erreur de frappe, je voulais écrire 95x43, j'ai dérapé sur le clavier

  10. #9
    Merlin95

    Re : calcul de produit

    Ha ok c'est ce que je pensais mais on sait jamais.

  11. #10
    lper

    Re : calcul de produit

    Bonjour,

    une petite requête sql (bien bourrin) pour trouver le résultat :

    SELECT a,
    b,
    c,
    d,
    (a * 10 + b) * (c * 10 + d)
    FROM (SELECT a.a a,
    b.a b,
    c.a c,
    d.a d
    FROM (SELECT a
    FROM (SELECT 3 a FROM DUAL)
    UNION
    (SELECT 4
    FROM DUAL)
    UNION
    (SELECT 5
    FROM DUAL)
    UNION
    (SELECT 9
    FROM DUAL)) a,
    (SELECT a
    FROM (SELECT 3 a FROM DUAL)
    UNION
    (SELECT 4
    FROM DUAL)
    UNION
    (SELECT 5
    FROM DUAL)
    UNION
    (SELECT 9
    FROM DUAL)) b,
    (SELECT a
    FROM (SELECT 3 a FROM DUAL)
    UNION
    (SELECT 4
    FROM DUAL)
    UNION
    (SELECT 5
    FROM DUAL)
    UNION
    (SELECT 9
    FROM DUAL)) c,
    (SELECT a
    FROM (SELECT 3 a FROM DUAL)
    UNION
    (SELECT 4
    FROM DUAL)
    UNION
    (SELECT 5
    FROM DUAL)
    UNION
    (SELECT 9
    FROM DUAL)) d
    WHERE a.a <> b.a
    AND a.a <> c.a
    AND a.a <> d.a
    AND b.a <> c.a
    AND b.a <> d.a
    AND c.a <> d.a)
    order by 4 desc

  12. #11
    pm42

    Re : calcul de produit

    Citation Envoyé par lper Voir le message
    une petite requête sql (bien bourrin) pour trouver le résultat :
    Sans vouloir être trop critique, l'intérêt si on le programme, c'est de pouvoir le faire avec les chiffres en paramètres et en nombre quelconque.

    P.S: j'ai copié/coller dans Postgres qui m'a jeté avec une erreur de manque d'alias.

  13. #12
    Resartus

    Re : calcul de produit

    Bonjour,
    Pour répondre de manière plus "informatique", chaque produit peut être considéré comme une des permutations possibles des n chiffres de départ, avec le symbole "multiplié" qui peut ensuite s'insèrer après n'importe quelle position entre la 1ère et l'avant dernière

    Cela donne trop de possibilités (puisque on ne prend pas en compte la commutativité du produit), mais a l'avantage de se ramener à un problème d'énumération exhaustive* d'arrangements


    *Qui n'est pas tellement évidente non plus à programmer, sauf avec des fonctions récursives, mais qui fait partie des exercices classiques en informatique
    Dernière modification par Resartus ; 26/03/2019 à 16h08.
    Why, sometimes I've believed as many as six impossible things before breakfast

  14. #13
    Merlin95

    Re : calcul de produit

    Pour la requête on peut faire un programme qui la génère en fonction de ce qu'on met en entrée.

  15. #14
    lper

    Re : calcul de produit

    Citation Envoyé par pm42 Voir le message
    Sans vouloir être trop critique, l'intérêt si on le programme, c'est de pouvoir le faire avec les chiffres en paramètres et en nombre quelconque.
    En effet, j'avais juste 5 minutes à perdre et j'ai fait ça de manière très dégueux.

  16. #15
    Médiat

    Re : calcul de produit

    Bonjour lper,

    Code:
    with LISTE as (select 3 as N from DUAL
                union
                   select 4 as N from DUAL
                union
                   select 5 as N from DUAL
                union
                   select 9 as N from DUAL),
          PROD as (select (10*a.N + B.N)*(10*C.N + D.N) as N, a.n as a, b.n as b, c.n as c, d.n as d
                   from LISTE a inner join LISTE B on a.N != B.N
                                inner join LISTE C on C.N <  a.N
                                                  and C.N != B.N
                                inner join LISTE D on d.N != a.N
                                                  and D.N != B.N
                                                  and D.N != C.N)
    select (10*a + B) || ' * ' || (10*C + D) || ' = ' || n
    from prod order by n desc;
    A partir de cette version il est facile de changer la liste, voire de généraliser à des listes plus longues
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  17. #16
    Médiat

    Re : calcul de produit

    Voilà une version non limitée à 4 chiffres (mais limitée à la base 10)

    Code:
    with NUMER as (select rownum as N from DUAL connect by rownum < 20),
         LISTE as (select 3 as N from DUAL
                union
                   select 4 as N from DUAL
                union
                   select 5 as N from DUAL
                union
                   select 6 as N from DUAL
                union
                   select 8 as N from DUAL
                union
                   select 9 as N from DUAL
                union
                   select 7 as N from DUAL),
         ORDRE (ord, seq, compte) as (select N || '' as ord, 1 as seq, count(*) over () as compte from LISTE
               union all
                   select a.ORD || B.N, a.SEQ + 1, compte
                   from ORDRE a inner join LISTE B on a.ORD not like '%'||B.N||'%'
                   where a.SEQ < a.COMPTE),
          PRODU as (select B.ORD, a.N, TO_NUMBER(SUBSTR(B.ORD, 1, a.N)), TO_NUMBER(SUBSTR(B.ORD, a.N+1, b.compte-a.N)), 
                    TO_NUMBER(SUBSTR(B.ORD, 1, a.N))* TO_NUMBER(SUBSTR(B.ORD, a.N+1, b.compte-a.N)) as PR     
                    from NUMER a cross join ORDRE B
                    where a.N between 1 and B.COMPTE - 1
                      and B.SEQ = b.compte)
    select * from PRODU 
    order by pr desc;
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  18. #17
    lper

    Re : calcul de produit

    Bonjour cher Médiat,

    toujours un plaisir de te lire(j'apprends tellement grâce à toi), merci pour cette requête, bien plus jolie que mon truc pondu à la va vite !

  19. #18
    Médiat

    Re : calcul de produit

    Bonjour pm42
    Citation Envoyé par pm42 Voir le message
    Si n est impair, il semblerait que la réponse soit une combinaison de longueur ((n+1)/2, (n-1)/2) mais là aussi, cela mériterait d'être vérifié.
    Si n est impair, et que la liste contient 0 on le retire, sinon on l'ajoute, dans les deux cas on retombe sur le cas pair, la post gestion du 0 dans les 2 cas est facile.
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  20. #19
    pm42

    Re : calcul de produit

    Citation Envoyé par Médiat Voir le message
    Si n est impair, et que la liste contient 0 on le retire, sinon on l'ajoute, dans les deux cas on retombe sur le cas pair, la post gestion du 0 dans les 2 cas est facile.
    Effectivement, cela a l'air d'être efficace. Bien vu et astucieux.
    Dans le cas pair, on doit pouvoir montrer que c'est forcément une équipartition qui donne le maximum parce que toute partition différente va donner moins de produits de 2 chiffres et donc la somme va être plus faible.
    Après, les 1ers chiffres sont faciles et on a déjà bien avancé.

  21. #20
    Médiat

    Re : calcul de produit

    Je le crois aussi, mais c'est peut-être moins évident que je ne le pensais dans un premier temps, par exemple, pour {1, 3, 4, 5, 6, 7}

    la première place est tenue par : 741 * 653 = 483873
    la troisième par 74 * 6531 = 483294
    et la quatrième par 65 * 7431 = 483015
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  22. #21
    pm42

    Re : calcul de produit

    Citation Envoyé par Médiat Voir le message
    Je le crois aussi, mais c'est peut-être moins évident que je ne le pensais dans un premier temps, par exemple, pour {1, 3, 4, 5, 6, 7}
    Je viens d'y repenser un peu et effectivement, ce n'est peut-être pas si simple à prouver.
    Malheureusement je manque de temps et surtout, je suis très rouillé coté démonstrations, je n'ai pas fait beaucoup de maths les 30 dernières années.

  23. #22
    minushabens

    Re : calcul de produit

    si on a une répartition des chiffres en deux nombres n1 et n2 on peut voir qu'en enlevant le dernier chiffre de n1 et en le collant à la fin de n2 on améliore le produit tant que nombre de chiffres de n1 est plus grand que celui de n2. Mais ça n'est qu'une façon de modifier n1 et n2. Comme il est évident qu'on doit ranger les chiffres dans n1 et n2 en ordre décroissant, on doit pouvoir étendre le raisonnement précédent à d'autres transformations mais je n'ai pas essayé de formaliser les choses plus avant.

    sinon, on peut construire séquentiellement n1 et n2: pour des nombres à 1 chiffre, il est évident qu'on a intérêt à prendre les deux plus grands chiffres. Supposons que n1>n2. On choisit le troisième chiffre en ordre décroissant et il faut l'ajouter à n2, puis le quatrième à n1 et ainsi de suite. Mais rien dit que de cette façon on atteint le maximum global.
    Dernière modification par minushabens ; 30/03/2019 à 06h58.

Discussions similaires

  1. Calcul de produit nul
    Par invite70312004 dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 03/05/2012, 16h17
  2. Calcul d'un produit, complexes
    Par invitec39c5ec4 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 16/09/2009, 17h19
  3. Calcul produit vectoriel
    Par invite84a62bd9 dans le forum Physique
    Réponses: 18
    Dernier message: 28/06/2007, 08h14
  4. calcul de pourcentage d un produit
    Par invite7909b7dc dans le forum Chimie
    Réponses: 4
    Dernier message: 28/01/2006, 13h36
  5. calcul produit avec sin
    Par invited7f426cc dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 09/09/2005, 17h07