Advertisement
Farjana_akter

Untitled

Mar 29th, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4. #define maxn 10000007
  5. bool mark[maxn+5];
  6.  
  7.  
  8. void sieve()
  9. {
  10. mark[0]=true;
  11. mark[1]=true;
  12.  
  13. for(ll i=2;i*i<=maxn;i++)
  14. {
  15. if(mark[i]==false)
  16. {
  17. for(ll j=i*i;j<=maxn;j+=i)
  18. {
  19. mark[j]=true;
  20. }
  21. }
  22. }
  23. }
  24.  
  25.  
  26. bool anagram(ll n)
  27. {
  28. vector<ll>v;
  29. ll a,b,c,d,i,j,k;
  30. a=n;
  31. while(a)
  32. {
  33. v.push_back(a%10);
  34. a/=10;
  35. }
  36. sort(v.begin(),v.end());
  37. do{
  38. b=0;
  39. for(i=0;i<v.size();i++)
  40. {
  41. b=b*10+v[i];
  42. }
  43. if(mark[b]==true)
  44. return false;
  45.  
  46. }while(next_permutation(v.begin(),v.end()));
  47. return true;
  48. }
  49.  
  50.  
  51.  
  52. int main()
  53. {
  54. sieve();
  55. ll n,i,j,k,a,b,c,d,e;
  56. while(cin>>n && n)
  57. {
  58. a=n;
  59. ll power=0,ans;
  60. while(a)
  61. {
  62. a/=10;
  63. power++;
  64. }
  65. b=pow(10,power);
  66. ans=0;
  67. for(i=n+1;i<b;i++)
  68. {
  69. if(mark[i]==false)
  70. {
  71. if(anagram(i)==true)
  72. {
  73. ans=i;
  74. break;
  75. }
  76. }
  77. }
  78. cout<<ans<<endl;
  79. }
  80. return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement