Advertisement
Guest User

Uva Simply Emirp

a guest
Oct 21st, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int arr[9999999]={0};
  4. long int N=9999999;
  5. void sieve()
  6. {
  7. int sq=sqrt(N);
  8. arr[0]=1;
  9. arr[1]=1;
  10. arr[2]=0;
  11. for(long int i=4; i<N; i=i+2){
  12. arr[i]=1;
  13. }
  14. for( int i=3; i<=sq; i=i+2){
  15. if(arr[i]==0){
  16. for( int j=i*i; j<=N; j+=i)
  17. arr[j]=1;
  18. }
  19. }
  20. }
  21. int main()
  22. {
  23. sieve();
  24. long int n;
  25. while(scanf("%ld",&n)==1){
  26. long int num=n;
  27. long int revers=0,mod;
  28. if(arr[n]==0){
  29. while(n!= 0){
  30. mod= n%10;
  31. revers= revers*10+mod;
  32. n/= 10;
  33. }
  34. if(arr[revers]==0 && revers!=num){
  35. printf("%ld is emirp.\n",num);
  36. }
  37. else
  38. printf("%ld is prime.\n",num);
  39. }
  40. else
  41. printf("%ld is not Prime.\n",num);
  42. }
  43. return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement