Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #define M 9876543
- using namespace std;
- bool pand(long n) {
- int digits = 0;
- int count = 0;
- int tmp;
- if (n<=1) return false;
- if (n<=3) return true;
- int k = ceil(sqrt(n));
- for (int i = 3; i <= k; i+=2)
- if (n % i == 0) return false;
- while (n > 0) {
- tmp = digits;
- digits = digits | 1 << (int)((n % 10) - 1);
- if (tmp == digits) {
- return false;
- }
- count++;
- n /= 10;
- }
- return digits == (1 << count) - 1;
- }
- int main(){
- long maxpan=0;
- for(long i=3; i<=M; i+=2){
- if(pand(i)){
- if(i>maxpan) maxpan=i;
- }
- }
- cout<<"A legnagyobb pandigitalis primszam: "<<maxpan<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment