Schreiben Sie einen C++ Algorithmus, um nach einer Primzahl zu suchen. Meine C++ Codes sind wie folgtFinden der Primzahl einer Ganzzahl mit C++
#include<iostream>
#include<cmath>
using namespace std;
int x,n;
bool isprime(int);
int main()
{
cout<<"Enter prime no"<<endl;
cin>>x;
for (n=2;n<=floor(sqrt(x));n++)
{
if (x==1)
cout<<"not prime"<<endl;
else if (x%n==0)
cout<<"is not prime"<<endl;
else
cout<<"prime"<<endl;
}
}
Aber wenn ich die programn betreiben meine Ausgabe zum Beispiel scheint nicht richtig i halte, „ist eine Primzahl“, wenn die Antwort eindeutig ist prime.The nicht
else if (x%n==0)
cout<<"is not prime"<<endl;
Teil der Anweisung könnte nicht ordnungsgemäß ausgeführt werden. Könnte mir jemand erklären, was mit meinem Code falsch ist. Danke
Wenn Sie noch keinen Debugger verwendet haben, ist jetzt die richtige Zeit, um zu lernen, wie. Mit einem Debugger können Sie den Code zeilenweise durchlaufen, während Sie die Variablen und ihre Werte beobachten und sehen, wie sich die Variablen ändern. Wenn Sie dies tun, sollten Sie Ihr Problem hoffentlich schnell finden. –
Sie treffen Ihre Entscheidung während der ersten Iteration der For-Schleife. Um herauszufinden, ob eine ganze Zahl prim ist, müssen Sie die gesamte Schleife ausführen. Sie müssen Ihre Formatierung wirklich korrigieren, um einen besseren visuellen Code-Flow zu erhalten. – IInspectable
Nimm 'x = 9' .'x' ist nicht durch' n = 2 teilbar.So gibst du als Primzahl aus.Obwohl du bis jetzt noch nicht nach 'n = 3' gecheckt hast. Was ist hier falsch? Tipp: Vielleicht möchten Sie nach allen Teilern suchen und dann entscheiden, ob es prim ist oder nicht. –