Table des matières
Trouvez le Nième nombre composé de chiffres impairs
Exemple
Exemple de code
Output
Explication du code
Conclusion
Maison développement back-end C++ Écrivez un programme en C++ pour trouver le Nième nombre composé de chiffres impairs

Écrivez un programme en C++ pour trouver le Nième nombre composé de chiffres impairs

Sep 14, 2023 am 11:09 AM
c语言 nombres impairs nième numéro

Écrivez un programme en C++ pour trouver le Nième nombre composé de chiffres impairs

C++ a une énorme liste de fonctions pour résoudre des problèmes mathématiques. L'une des fonctions mathématiques consiste à trouver le Nième nombre impair de chiffres à l'aide d'un code. Cet article décrira la méthode complète pour trouver un nombre impair de chiffres et comprendra ce qu'est un nombre impair et en quoi un nombre est constitué d'un nombre impair de chiffres.

Trouvez le Nième nombre composé de chiffres impairs

Les nombres impairs auront un reste lorsqu'ils sont divisés par 2, donc les premiers nombres impairs sont 1, 3, 5, 7, 9, 11, 13, 15, 17, 19. ..

Pour trouver le nombre recherché, nous avons deux méthodes :

Méthode 1 - Vérifiez chaque nombre naturel pour voir s'il est impair et comptez chaque nombre impair jusqu'à ce que le nombre soit égal à n, s'il est trouvé Si le nombre est pair , alors ne comptez pas, c'est-à-dire sautez les nombres pairs, comptez les nombres impairs et donnez le Nième nombre trouvé.

Cette méthode pour trouver le Nième nombre composé d'un nombre impair de chiffres peut être simple car il suffit de vérifier chaque nombre et de compter les nombres impairs, mais en termes de programmation informatique, cette méthode prend beaucoup de temps pour accomplir cette tâche.

Méthode 2 - Le dernier chiffre de chaque nombre composé de chiffres impairs peut être 1, 3, 5, 7, 9, ce sont donc des nombres impairs. On vérifie donc d'abord si le Nième nombre est 1, 3, 5, 7, 9 et si c'est le cas on obtient la réponse ; sinon on passe à d'autres nombres possibles c'est-à-dire 11, 13, 15, 17, 19 puis 21, 23, 25. , 27, 29. Cela forme un modèle : 1 * 10 + {dernier numéro possible}.

Exemple

Last possible numbers are 1,3,5,7,9
Next possible numbers can be found by
1 * 10 + 1 =11
1 * 10 + 3 = 13
1 * 10 + 5 = 15
1 * 10 + 7 = 17
1* 10 + 9 = 19
i.e 11,13,15,17,19
Copier après la connexion

Exemple de code

Tout d'abord, voyons à quoi ressemble le code -

#include<bits/stdc++.h>
using namespace std;
int main(){
    queue<int> q;
    int cnt = 0, ans = 0;
    int n;
    cin >> n;
    int a[5]={1,3,5,7,9};
    for(int i = 0; i < 5;i++){
        cnt++;
        if(cnt == n)
            ans = a[i];
        q.push(a[i]);
    }
    if(ans)
        cout << ans << "\n";
    else{
        while(true){
            int x = q.front();
            q.pop();
            for(int j = 0; j < 5; j++) {
                int temp = x * 10 + a[j];
                q.push(temp);
                cnt++;
                if(cnt == n)
                    ans = temp;
            }
            if(ans)
                break;
        }
        cout << ans << "\n";
    }
    return 0;
}
Copier après la connexion

Output

9
Copier après la connexion

(Lorsque nous fournissons 5 en entrée, nous obtenons 9 en sortie)

Le code ci-dessus est du code C++ pour trouver le Nième nombre composé uniquement de chiffres impairs. Pour comprendre ce code, décomposons-le et comprenons chaque partie pour comprendre le code complet.

Explication du code

Étape 1 - Obtenez n de l'utilisateur et initialisez les variables requises.

int main() {
   queue<int> q;
   int cnt = 0, ans = 0;
   int n;
   cin >> n;
   int a[5]={1,3,5,7,9};
Copier après la connexion

Ici, nous créons une file d'attente et initialisons les variables cnt pour compter et ans pour stocker les réponses. En même temps, nous utilisons cin pour obtenir les entrées de l'utilisateur et initialiser un tableau avec le premier nombre possible.

Étape 2 - Vérifiez si le Nième numéro fait partie des numéros initiaux possibles et stockez ces numéros dans la file d'attente.

for(int i = 0; i < 5;i++){
   cnt++;
   if(cnt == n)
      ans = a[i];
      q.push(a[i]);
   }
   if(ans)
      cout << ans << "\n";
Copier après la connexion

Dans le code ci-dessus nous vérifions si le Nième numéro est disponible dans le premier numéro possible, le stockons dans le tableau et poussons le numéro présent dans le tableau vers la file d'attente s'il est disponible dans le premier numéro possible Si le Nième numéro est trouvé dans le numéro, alors le résultat est donné

Étape 3 - Trouvez le Nième numéro dans le prochain numéro possible, si le Nième numéro n'est pas trouvé, changez le numéro dans la file d'attente.

while(true) {
   int x = q.front();
   q.pop();
   for(int j = 0; j < 5; j++) {
      int temp = x * 10 + a[j];
      q.push(temp);
      cnt++;
      if(cnt == n)
         ans = temp;
      }
      if(ans)
         break;
   }
   cout << ans << "\n";
}
Copier après la connexion

Enfin, nous retirons chaque numéro de la file d'attente et générons le prochain nombre possible en utilisant la formule { x * 10 + dernier nombre impair } et vérifions si la valeur de cnt est égale à n.

Conclusion

Dans cet article, nous avons eu un problème : comment trouver le Nième nombre impair composé de chiffres impairs, et avons trouvé deux méthodes pour le résoudre. La première méthode est simple, il suffit de vérifier chaque nombre et d’ignorer les nombres pairs, mais le calcul prend plus de temps.

La deuxième méthode consiste à utiliser une file d'attente pour y stocker les nombres impairs et à utiliser la formule ci-dessus pour trouver le prochain nombre possible. La complexité de cette approche est O(n).

Nous avons écrit un programme en C++ pour trouver le Nième nombre composé uniquement de chiffres impairs ; nous pouvons écrire ce programme dans n'importe quel autre langage comme C, Python, Java ou d'autres langages de programmation. J'espère que vous avez trouvé cet article utile pour résoudre votre problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

C Structure des données du langage: représentation des données et fonctionnement des arbres et des graphiques C Structure des données du langage: représentation des données et fonctionnement des arbres et des graphiques Apr 04, 2025 am 11:18 AM

C Structure des données du langage: La représentation des données de l'arborescence et du graphique est une structure de données hiérarchique composée de nœuds. Chaque nœud contient un élément de données et un pointeur vers ses nœuds enfants. L'arbre binaire est un type spécial d'arbre. Chaque nœud a au plus deux nœuds enfants. Les données représentent StrustReenode {intdata; structTreenode * gauche; structureReode * droite;}; L'opération crée une arborescence d'arborescence arborescence (prédécision, ordre dans l'ordre et ordre ultérieur) Le nœud d'insertion de l'arborescence des arbres de recherche de nœud Graph est une collection de structures de données, où les éléments sont des sommets, et ils peuvent être connectés ensemble via des bords avec des données droites ou peu nombreuses représentant des voisins.

La vérité derrière le problème de fonctionnement du fichier de langue C La vérité derrière le problème de fonctionnement du fichier de langue C Apr 04, 2025 am 11:24 AM

La vérité sur les problèmes de fonctionnement des fichiers: l'ouverture des fichiers a échoué: les autorisations insuffisantes, les mauvais chemins de mauvais et les fichiers occupés. L'écriture de données a échoué: le tampon est plein, le fichier n'est pas écrivatif et l'espace disque est insuffisant. Autres FAQ: traversée de fichiers lents, encodage de fichiers texte incorrect et erreurs de lecture de fichiers binaires.

Quelles sont les exigences de base pour les fonctions de langue C Quelles sont les exigences de base pour les fonctions de langue C Apr 03, 2025 pm 10:06 PM

Les fonctions de langue C sont la base de la modularisation du code et de la construction de programmes. Ils se composent de déclarations (en-têtes de fonction) et de définitions (corps de fonction). Le langage C utilise des valeurs pour transmettre les paramètres par défaut, mais les variables externes peuvent également être modifiées à l'aide d'adresse Pass. Les fonctions peuvent avoir ou ne pas avoir de valeur de retour et le type de valeur de retour doit être cohérent avec la déclaration. La dénomination de la fonction doit être claire et facile à comprendre, en utilisant un chameau ou une nomenclature de soulignement. Suivez le principe de responsabilité unique et gardez la simplicité de la fonction pour améliorer la maintenabilité et la lisibilité.

Comment produire un compte à rebours dans le langage C Comment produire un compte à rebours dans le langage C Apr 04, 2025 am 08:54 AM

Comment produire un compte à rebours en C? Réponse: Utilisez des instructions de boucle. Étapes: 1. Définissez la variable N et stockez le numéro de compte à rebours à la sortie; 2. Utilisez la boucle while pour imprimer en continu n jusqu'à ce que n soit inférieur à 1; 3. Dans le corps de la boucle, imprimez la valeur de n; 4. À la fin de la boucle, soustrayez N par 1 pour sortir le prochain plus petit réciproque.

C Programmation multithread du langage: Guide du débutant et dépannage C Programmation multithread du langage: Guide du débutant et dépannage Apr 04, 2025 am 10:15 AM

C Guide de programmation multithreading Language: Création de threads: Utilisez la fonction PTHREAD_CREATE () pour spécifier l'ID de thread, les propriétés et les fonctions de thread. Synchronisation des threads: empêchez la concurrence des données via des mutex, des sémaphores et des variables conditionnelles. Cas pratique: utilisez le multi-lancement pour calculer le numéro Fibonacci, attribuer des tâches à plusieurs threads et synchroniser les résultats. Dépannage: résoudre des problèmes tels que les accidents de programme, les réponses d'arrêt de fil et les goulots d'étranglement des performances.

CS-semaine 3 CS-semaine 3 Apr 04, 2025 am 06:06 AM

Les algorithmes sont l'ensemble des instructions pour résoudre les problèmes, et leur vitesse d'exécution et leur utilisation de la mémoire varient. En programmation, de nombreux algorithmes sont basés sur la recherche et le tri de données. Cet article présentera plusieurs algorithmes de récupération et de tri de données. La recherche linéaire suppose qu'il existe un tableau [20,500,10,5,100,1,50] et doit trouver le numéro 50. L'algorithme de recherche linéaire vérifie chaque élément du tableau un par un jusqu'à ce que la valeur cible soit trouvée ou que le tableau complet soit traversé. L'organigramme de l'algorithme est le suivant: Le pseudo-code pour la recherche linéaire est le suivant: Vérifiez chaque élément: Si la valeur cible est trouvée: return True return false C Implementation: # include # includeIntMain (void) {i

Dépannage des conseils pour le traitement des fichiers dans la langue C Dépannage des conseils pour le traitement des fichiers dans la langue C Apr 04, 2025 am 11:15 AM

Dépannage des conseils pour les fichiers de traitement du langage C Lors du traitement des fichiers dans le langage C, vous pouvez rencontrer divers problèmes. Les problèmes suivants sont des problèmes communs et des solutions correspondantes: Problème 1: Impossible d'ouvrir le code de fichier: fichier * fp = fopen ("myfile.txt", "r"); if (fp == null) {// ouverture de fichier a échoué} Raison: le fichier d'erreur de fichier Fichier ne existe pas sans la lecture de fichier Code de lecture de fichier: Charbuffer [100]; size_tread_bytes = Fread (tampon, 1, siz

Concept de fonction de langue C Concept de fonction de langue C Apr 03, 2025 pm 10:09 PM

Les fonctions de langue C sont des blocs de code réutilisables. Ils reçoivent des entrées, effectuent des opérations et renvoient les résultats, ce qui améliore modulairement la réutilisabilité et réduit la complexité. Le mécanisme interne de la fonction comprend le passage des paramètres, l'exécution de la fonction et les valeurs de retour. L'ensemble du processus implique une optimisation telle que la fonction en ligne. Une bonne fonction est écrite en suivant le principe de responsabilité unique, un petit nombre de paramètres, des spécifications de dénomination et une gestion des erreurs. Les pointeurs combinés avec des fonctions peuvent atteindre des fonctions plus puissantes, telles que la modification des valeurs de variables externes. Les pointeurs de fonctions passent les fonctions comme des paramètres ou des adresses de magasin, et sont utilisées pour implémenter les appels dynamiques aux fonctions. Comprendre les fonctionnalités et les techniques des fonctions est la clé pour écrire des programmes C efficaces, maintenables et faciles à comprendre.

See all articles