J'ai une question, j'ai cette mission
Étant donné un entier positif X, nous voulons trouver l'intervalle le plus court [A, B] avec X contient, où aussi, A et B sont des nombres de nombres premiers .Range nombres premiers C++
Entrée La première ligne de l'entrée contient un nombre entier M (1 < = M < = 100). M lignes suivent, chacune avec un nombre X (1 < X < = 10^5).
sortie M lignes contenant A et B (1 < A = B < < = 10^6), B-A < = 10^4.
Exemple d'entrée
Exemple de sortie
Je l'ai fait, mais cela ne résout pas le problème. Comment puis-je imprimer les nombres premiers du nombre X? si je n'ai pas de gamme.
#include <iostream>
using namespace std;
int main()
{
int n = 0, c = 0, c2 = 0, res = 0, nc = 0;
cout << "Introduce el limite de numeros: ";
cin >> n;
for (c = 1; c <= n; c++) {
for (c2 = 1; c2 <= n; c2++) {
res = c % c2;
if (res == 0) {
nc = nc + 1;
}
}
if (nc == 2) {
cout << " " << c;
}
nc = 0;
}
}
Vous avez déclaré que vous "avez une question". Cependant, un examen attentif montre l'absence complète d'une question réelle. La seule chose que votre message contient est une mise à jour de statut pour votre devoir. Ce n'est pas une question spécifique. –
@SamVarshavchik Dit exactement la bonne chose, mais peut également ajouter le lien MCVE: http://stackoverflow.com/help/mcve –
IIRC Il y a environ 6500 nombres premiers entre [0, 65536] et vous pouvez google pour une pleine liste. Pour un problème de cette taille, n'importe quel algorithme de recherche est réalisable. – user3528438