Programme C de trouver des disparus entier dans une séquence de nombres
Vous êtes donné une séquence de n-1 entiers positifs distincts, qui sont toutes inférieures ou égales à un nombre entier ‘n’. Vous devez trouver le nombre entier qui est manquant dans la gamme [1,2,...,n]. Résoudre la question sans l'aide de tableaux.
Format D'Entrée:
Une ligne contenant l'entier ‘n’ où 2<=n<=de 10 000
La première ligne est suivie par une séquence de n-1’ distincts entiers positifs. Notez que la séquence ne peut pas être dans un ordre particulier.
J'ai eu le code à l'aide de matrices
#include<stdio.h>
int main()
{
int i,j,n[9999],m,t;
scanf("%d",&m);
for(i=1;i<m;i++)
{
scanf("%d",&n[i]);
}
for(i=1;i<m;i++)
{
for(j=1;j<i;j++)
{
if(n[j]>n[j+1])
{
t=n[j];
n[j]=n[j+1];
n[j+1]=t;
}
}
}
for(i=2;i<m;i++)
{
if(n[i-1]!=n[i]-1)
{
printf("%d",n[i]-1);
break;
}
}
return(0);
}
Comment puis-je faire la même chose sans l'aide de tableaux?
Quel serait le résultat de la sommation de tous les éléments?
C'est un problème classique, voir John Bentley de Programmation "Perles" du livre. Vous pouvez utiliser un bitvector pour garder une trace du nombre de qui est là et dont le nombre n'est pas là (mais peut-être que ce n'est pas la réponse à la question depuis un bitvector est un peu un tableau...)
Double de Comment Trouver le Nombre Manquant sur le Tableau d'Entiers de 1 à 100?. N'oubliez pas de citer ce site Web lorsque vous soumettez votre solution, afin de ne pas commettre un plagiat.
C'est un problème classique, voir John Bentley de Programmation "Perles" du livre. Vous pouvez utiliser un bitvector pour garder une trace du nombre de qui est là et dont le nombre n'est pas là (mais peut-être que ce n'est pas la réponse à la question depuis un bitvector est un peu un tableau...)
Double de Comment Trouver le Nombre Manquant sur le Tableau d'Entiers de 1 à 100?. N'oubliez pas de citer ce site Web lorsque vous soumettez votre solution, afin de ne pas commettre un plagiat.
OriginalL'auteur SRI HARSHA | 2015-08-02
Vous devez vous connecter pour publier un commentaire.
La logique est simple. Vous venez de trouver la somme des nombres continus dans la série pour un certain n.
Et, maintenant ajouter tous les numéros fournis dans la question pour trouver la somme exactement les nombres donnés.
La différence, c'est ce qu'on peut dire que la différence entre ces 2 sommes est le nombre manquant.
Ex :- disons, n = 6.
Donc, vous venez de trouver la somme de n nombres entiers consécutifs à partir de 1,...,6 est :- 6 * (6+1) /2 = 21. La formule de la somme de n nombres entiers consécutifs à partir de 1 est {n * (n+1)} /2.
Et, maintenant, trouver la somme de n-1 nombres.
Dire, les chiffres donnés sont 1,2,4,5,6. Alors leur somme = 1 + 2 + 4 + 5 + 6 = 18.
Par conséquent, le nombre manquant = somme des continue de n nombres somme de (n-1) nombre = 3.
OriginalL'auteur Am_I_Helpful
Trouver la somme des entiers. De la soustraire n(n+1)/2.
Explication: La somme des n premiers nombres entiers est n(n+1)/2. Par conséquent, la somme des entiers + manquant integer= n(n+1)/2.
Supposons que n=10;
Alors, 1+2+3+4+5+6+7+8+9+10=10*(10+1)/2==55
Si les entiers sont - 1,2,3,4,5,6,7,8,10.
Répondre = 55 - (1+2+3+4+5+6+7+8+10)=9.
OriginalL'auteur Rohcana
Pour trouver le nombre manquant dans la gamme de 1 à n-1, alors nous avons deux méthodes est la somme de la formule et la deuxième est l'utilisation XOR méthode où les deux donne O(n) le temps de la complexité.
Utilisez La Somme De La Formule
1 Obtenir la somme de nombres
2 Soustraire tous les nombres de somme et
vous obtiendrez le nombre manquant.
Utiliser XOR Méthode
1 XOR de tous les éléments du tableau, laissez-le résultat du XOR être X1.
2 XOR de tous les nombres de 1 à n, on XOR être X2.
3 XOR de X1 et X2 donne le nombre manquant.
OriginalL'auteur Deepak Chawla
", Vous pouvez utiliser la somme méthode que la somme de tous les nombres dans le tableau comme disent total taille du tableau=5 et les éléments qui sont 1,2,4,5,6 puis taille=5 puis utiliser cette méthode (n(n+1))/2 n=5 ici, donc 15 est livré par le calcul
de nouveau la somme des éléments du tableau 1+2+4+5+6 =18
donc 18-15=3
simple
OriginalL'auteur Nava Raj Pokharel