nombre heureux
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

nombre heureux



  1. #1
    invite9f95f6e7

    nombre heureux


    ------

    salut
    je suis bloquée devant un exo :
    il faut ecrire un programme qui vérifie si un nombre est heureux ou nn
    exemple:7 est heureux, puisque la suite associée est :
    T1 = 7² = 49
    T2 = 4² + 9² = 97
    T3 = 9² + 7² = 130
    T4 = 1² + 3² + 0² = 10
    T5 = 1² + 0² = 1

    Propriété : un nombre est heureux si et seulement si les différents nombres T intermédiaires sont tous heureux
    Ici 49 ; 97 ; 130 ; 10 sont heureux.


    soit P un nombre
    tant que(P>0 )
    s<-0;
    reste<-P%10;
    reste<-reste*reste;
    s<-s+reste;
    P<-P/10;

    mais lorsque P<=0 on doit le remplacer par s , ainsi de suite jusqu a ce qu on obtient somme==1
    je suis bloquée ici

    merci d avance de m avoir aidée

    -----

  2. #2
    invite4492c379

    Re : nombre heureux

    Hello,

    c'est un peu plus compliqué que ça ...

    si on part de 3 on obtient la suite (si je ne me suis pas trompé) :
    3 - 9 - 81 - 65 - 61 - 37 - 58 - 89 - 145 - 42 - 20 - 4 - 16 - 37 : on retombe sur 37, il y a un cycle on ne tombera jamais sur 1 donc 3 est malheureux
    Il faut non seulement calculer le terme suivant mais se souvenir de tous les précédents.

    Alors 2 choix :

    * on veut savoir si un nombre donné est heureux : on construit la suite et à chaque nouveau terme soit on tombe sur 1 et le nombre donné est heureux, soit on tombe sur un terme déjà rencontré et le nombre donné est malheureux, soit c'est un terme jamais rencontré avant et il ne vaut pas 1 alors on calcule le terme suivant.

    * on veut déterminer la liste des nombres heureux entre 1 et n alors on reprend un algo du type crible (comme pour les nombres premiers).

    {* tu peux aussi faire un mix des deux ... cela s'appelle mettre les calculs en cache mais là je déborde}
    Remarque:
    d'une façon ou d'une autre il faut se souvenir des calculs précédents
    0 est malheureux (cas facile)
    utilise des fonctions et en tout premier lieu écris un algo

    Une liste de nombres heureux se trouve sur le site l'OEIS. Utile pour vérifier que ton algo fonctionne en le testant.

  3. #3
    invite9f95f6e7

    Re : nombre heureux

    salut
    est ce qu il faut utiliser les tableaux?
    deuxième questions ,comment peut -on ecrire en couleur sur la console (en c)?
    merci

  4. #4
    invite4492c379

    Re : nombre heureux

    Oui les tableaux toute autre structure de données similaire.
    Faire une sortie en couleur dépend de la console, travailles-tu sous windows, linux, mac, ... ?

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

    Re : nombre heureux

    Citation Envoyé par photon57 Voir le message
    Oui les tableaux toute autre structure de données similaire.
    Faire une sortie en couleur dépend de la console, travailles-tu sous windows, linux, mac, ... ?
    Bonjour,
    Je rebondis sur l'utilisation de la console, quelque-fois appelée "fenêtre DOS" quand on travaille sous wondows (ça me fait toujours rire).
    A l'occasion d'exo de programmation posés sur des forum, j'ai utilisé cette méthode. Etant donné l'inconfort j'ai un peu de mal à comprendre que les professeurs continuent à l'enseigner.
    Soit on veut apprendre l'analyse, le développement, la programmation, alors il vaut mieux trouver des supports et des présentations moins rébarbatives.
    Soit on veut apprendre un langage, alors autant commencer par des choses simples, mais avec un résultat "intéressant".
    Il me parait tout de même très facile de faire
    Code:
    FILE *ecr = fopen("UnEssai.txt","wt");
    ...
    float a=3./7.;
    if (3./7. == a)
    {
      fprintf(ecr,"a vaut %f  et c'est DIFFERENT de 3./7. \n",a);
    }
    else
    {
      fprintf(ecr,"a vaut %f  et c'est égal à 3./7. \n",a);
    }
    ...
    fclose(ecr);
    Et on pourra regarder tranquillement, avec n'importe quel éditeur, le fichier que l'on a créé.

    Dans ce cadre là j'avais fait un petit utilitaire qui permettait de générer un fichier avec des quantités de possibilités, texte, graphisme simple, camemberts etc à partir de commandes simples, c'est à dire utilisables aussi par un débutant.

  7. #6
    invite9f95f6e7

    Re : nombre heureux

    Citation Envoyé par photon57 Voir le message
    Oui les tableaux toute autre structure de données similaire.
    Faire une sortie en couleur dépend de la console, travailles-tu sous windows, linux, mac, ... ?
    sous windows!

  8. #7
    invite4492c379

    Re : nombre heureux

    Tu peux essayer les séquences du genre http://www.robvanderwoude.com/ansi.php
    M
    ais bon ... il n'y pas vraiment d'intéret je pense. Sinon il faut utiliser des bibliothèques dédiées (ncurse)

  9. #8
    invite4492c379

    Re : nombre heureux

    Tu peux essayer http://www.slashon.com/index.php/200...ows_CodeBlocks par exemple mais je pense que tu devrais mieux te focaliser sur des pb plus importants ...

  10. #9
    invite4492c379

    Re : nombre heureux

    ou comme tu utilises conio ... lire la doc

  11. #10
    invite9f95f6e7

    Re : nombre heureux

    merci
    mais à propos des nombres heureux je suis tjr coincée

  12. #11
    invite9f95f6e7

    Re : nombre heureux

    autre question svplé , est ce que ce genre d exo ( nombre premier , nombre parfait , nombre heureux.........) vont m aider pour maitriser l algorithme? car je vois qu'il faut utiliser bcp de maths et un peu d algo...ca necessite une reflexion mathematique!!
    faut etre fort en maths ?pour etre fort en algo (ou en c)?ou c juste qu il faut s habituer à ce mode de raisonnement ..!?

  13. #12
    Jack
    Modérateur

    Re : nombre heureux

    Citation Envoyé par Dlzlogic Voir le message
    Bonjour,
    Je rebondis sur l'utilisation de la console, quelque-fois appelée "fenêtre DOS" quand on travaille sous wondows (ça me fait toujours rire).
    A l'occasion d'exo de programmation posés sur des forum, j'ai utilisé cette méthode. Etant donné l'inconfort j'ai un peu de mal à comprendre que les professeurs continuent à l'enseigner.
    Soit on veut apprendre l'analyse, le développement, la programmation, alors il vaut mieux trouver des supports et des présentations moins rébarbatives.
    Soit on veut apprendre un langage, alors autant commencer par des choses simples, mais avec un résultat "intéressant".
    Il me parait tout de même très facile de faire
    Code:
    FILE *ecr = fopen("UnEssai.txt","wt");
    ...
    float a=3./7.;
    if (3./7. == a)
    {
      fprintf(ecr,"a vaut %f  et c'est DIFFERENT de 3./7. \n",a);
    }
    else
    {
      fprintf(ecr,"a vaut %f  et c'est égal à 3./7. \n",a);
    }
    ...
    fclose(ecr);
    Et on pourra regarder tranquillement, avec n'importe quel éditeur, le fichier que l'on a créé.

    Dans ce cadre là j'avais fait un petit utilitaire qui permettait de générer un fichier avec des quantités de possibilités, texte, graphisme simple, camemberts etc à partir de commandes simples, c'est à dire utilisables aussi par un débutant.
    J'avoue ne pas trop comprendre où tu veux en venir. Tu es pour ou contre l’utilisation de la console?

    autre question svplé , est ce que ce genre d exo ( nombre premier , nombre parfait , nombre heureux.........) vont m aider pour maitriser l algorithme? car je vois qu'il faut utiliser bcp de maths et un peu d algo...ca necessite une reflexion mathematique!!
    faut etre fort en maths ?pour etre fort en algo (ou en c)?ou c juste qu il faut s habituer à ce mode de raisonnement ..!?
    L'algorithmique permet de mettre en oeuvre une ou des méthodes de résolution d'un problème. Le problème n'est pas forcément mathématique.

    Le tri d'un tableau n'est pas vraiment un problème mathématique, mais pourtant il existe de nombreux algorithmes pour le résoudre.
    Ça nécessite bien sur la compréhension du problème avant de mettre en œuvre toute solution.

    Bon courage en tout cas, car je constate que tu ne baisses pas les bras malgré les difficultés.

    A+

  14. #13
    invite4492c379

    Re : nombre heureux

    Citation Envoyé par dalida1111 Voir le message
    autre question svplé , est ce que ce genre d exo ( nombre premier , nombre parfait , nombre heureux.........) vont m aider pour maitriser l algorithme? car je vois qu'il faut utiliser bcp de maths et un peu d algo...ca necessite une reflexion mathematique!!
    faut etre fort en maths ?pour etre fort en algo (ou en c)?ou c juste qu il faut s habituer à ce mode de raisonnement ..!?
    Oui bien sûr, car ce genre d'exercice permet de manipuler simplement des notions cruciales comme boucles, conditionnelles ou des techniques comme utiliser un accumulateur pour faire des sommes et des produits. Les palindromes sont une bonne introduction à la manipulation de chaines de caractères. Maintenant si tu essayes de résoudre des problèmes de math, alors oui forcément il va falloir utiliser une réflexion mathématique. Plus tard quand tu te poseras la question de l'efficacité d'un algorithme il y a aura aussi beaucoup de math.
    L'algo c'est aussi en vrac : les structures de données (sdd) comme les listes, piles, files, arbres (binaires,AVL,...), graphes, la récursivité, dérécursiver, les notions clés comme le tri, la recherche d'une ou plusieurs valeurs, ... beaucoup de choses que tu n'as pas encore touchées.

    Le raisonnement général est simple pour un problème : comment vais-je le modéliser, quels algo vais-je utiliser sur ce modèle pour obtenir la réponse.
    Par exemple dans un autre fil la question posée était : j'ai 48 joueurs, je veux faire des équipe de 3 personnes et les faire se rencontrer sur 12 tours de jeux. Les équipes lors de chaque tour doivent être différentes et chaque personne devra rencontrer une et une seule fois chaque autre que ce soit en tant que partenaire ou adversaire. Comment organiser les équipes et les tours ?

    * réflexion : ce n'est pas possible, mais on peut s'en approcher.
    * modélisation : chaque joueur est un sommet d'un graphe, les arêtes représenteront le lien «peut jouer avec», au fur et à mesure des rencontres ces liens seront supprimés + d'autres détails.
    * algo à utiliser : recherche de huit 6-cliques dans un graphe d'ordre 48 (ceci est un problème a priori difficile d'après la littérature) pour la résolution du problème, mais également toute la panoplies des algo dispo pour manipuler les graphes, les listes etc ...

  15. #14
    invite9f95f6e7

    Re : nombre heureux

    Merci pour vos réponses.

Discussions similaires

  1. Extremement heureux VL dépassée
    Par Elipsons dans le forum Archives
    Réponses: 54
    Dernier message: 04/01/2012, 17h42
  2. heureux !!!
    Par invite3cf2113e dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 18
    Dernier message: 23/09/2007, 23h19