Maruf_Hasan

Uva 406

Oct 14th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<bits/stdc++.h>
  4. using namespace std;
  5. #define M 1010
  6.  
  7. bool mark[M];
  8.  
  9. vector<int>prime;
  10.  
  11. void primegen()
  12. {
  13. int i,j;
  14.  
  15. mark[1]=false;
  16.  
  17. mark[2]=false;
  18.  
  19. prime.push_back(1);
  20. prime.push_back(2);
  21. for(i=3;i<=1001;i+=2)
  22. {
  23. if(mark[i]==false)
  24. {
  25. prime.push_back(i);
  26. }
  27. for(j=i*i;j<=1001;j+=2*i)
  28. {
  29. mark[j]=true;
  30. }
  31. }
  32.  
  33. }
  34.  
  35.  
  36. void myfunc(int n,int c)
  37. {
  38. vector<int>v;
  39. int i;
  40. for(i=0;prime[i]<=n;i++)
  41. {
  42. v.push_back(prime[i]);
  43.  
  44. }
  45.  
  46. //aaaa
  47. if(n==c)
  48. {
  49. printf("%d %d: ",n,c);
  50. for(i=0;i<v.size();i++)
  51. printf("%d ",prime[i]);
  52.  
  53. cout<<endl;
  54. return ;
  55. }
  56. else if(v.size()%2==0)
  57. {
  58. int count=0;
  59. printf("%d %d: ",n,c);
  60. for(i=(v.size()/2-c)+1; ;i++)
  61. {
  62. printf("%d ",prime[i-1]);
  63. count++;
  64. if(count==2*c)
  65. {
  66. printf("\n");
  67. break;
  68. }
  69. }
  70.  
  71. }
  72. else
  73. {
  74. int count=0;
  75. printf("%d %d: ",n,c);
  76. for(i=v.size()/2-c+1; ;i++)
  77. {
  78. printf("%d ",prime[i]);
  79. count++;
  80. if(count==2*c-1)
  81. {
  82. cout<<endl;
  83. break;
  84. }
  85.  
  86. }
  87.  
  88. }
  89. }
  90.  
  91. int main()
  92. {
  93. int n,c;
  94. primegen();
  95. while(scanf("%d %d",&n,&c) && n!=EOF)
  96. {
  97. myfunc(n,c);
  98. }
  99.  
  100.  
  101. return 0;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment