long mit cin einlesen...
-
hier erstmal der code:
#include <iostream> #include <math.h> using namespace std; int findPrim(long at, long n) { return n==2?2:n<2?-1:at>sqrt(n+1)?0:n%at==0?at:findPrim(at+1, n); } int main() { long pPrim; int res; while(1) { std::cout << "Enter Number" << endl; std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin >> pPrim; if(!std::cin.fail()) { res = findPrim(2, pPrim); if(res == -1) cout << pPrim << " is not a prime" << endl; else if(res == 0) cout << pPrim << " is a prime" << endl; else cout << pPrim << " is not a prime, it can be devided by "<< res << endl; } else { cout << "invalid input!" << endl; } } return 0; }Enter Number
54656756757
invalid input!
Enter Numbersobald eine eingabe über 10 zeichen hat, bekomm ich invalid input oO wie kommt das?
-
keiner ne idee?
-
long kann auf meinem System IMHO maximal 2147483647 als Zahl aufnehmen. Deine Zahl ist wohl einfach zu lang um in einen long zu passen
-
darthdespotism schrieb:
long kann auf meinem System IMHO maximal 2147483647 als Zahl aufnehmen. Deine Zahl ist wohl einfach zu lang um in einen long zu passen
hmm was soll ich denn dann für nen datentyp nehmen?
-
long long?
-
unsigned long