Maruf_Hasan

Untitled

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