fork(2) download
  1. #include <iostream>
  2. #include <math.h>
  3. #include <list>
  4. #include <time.h>
  5. using namespace std;
  6. int x,y,z,w=0,n;
  7. int wzornik[168],a=0,b,d,s;
  8. float licznik,zmienna;
  9. list <int> lista;
  10. double czas=0;
  11. int main()
  12. {
  13. clock_t start;
  14. clock_t koniec;
  15. start=clock();
  16. lista.push_back(2);
  17. for ( int liczba=3;liczba<=1000;liczba=liczba+2)
  18. {
  19. lista.push_back(liczba);
  20. }
  21. for ( int liczba=9;liczba<=1000;liczba=liczba+3) lista.remove(liczba);
  22. for ( int liczba=25;liczba<=1000;liczba=liczba+5) lista.remove(liczba);
  23. for ( int liczba=49;liczba<=1000;liczba=liczba+7) lista.remove(liczba);
  24. for ( int liczba=121;liczba<=1000;liczba=liczba+11) lista.remove(liczba);
  25. for ( int liczba=169;liczba<=1000;liczba=liczba+13) lista.remove(liczba);
  26. for ( int liczba=289;liczba<=1000;liczba=liczba+17) lista.remove(liczba);
  27. for ( int liczba=361;liczba<=1000;liczba=liczba+19) lista.remove(liczba);
  28. for ( int liczba=529;liczba<=1000;liczba=liczba+23) lista.remove(liczba);
  29. for ( int liczba=841;liczba<=1000;liczba=liczba+29) lista.remove(liczba);
  30. lista.remove(961);
  31. koniec=clock();
  32. czas=(double)(koniec-start) / CLOCKS_PER_SEC;
  33. cout << " Zajelo to :" << czas << "czasu"<<endl;
  34. //cout<<"Liczb na li\230cie: "<<lista.size()<<endl;
  35. for(list<int>::iterator i=lista.begin(); i!= lista.end() ; i++)
  36. {
  37. b=*i;
  38. //cout<<" "<<b; - wlacz zeby zobaczyc tablice wzorcowa
  39. wzornik[a]=b;
  40. a=a+1;
  41. }
  42. koniec=clock();
  43. czas=(double)(koniec-start) / CLOCKS_PER_SEC;
  44. cout << " Zajelo to :" << czas << "czasu"<<endl;
  45. for ( int liczba=999;liczba<=1000000;liczba++)
  46. {
  47. s=0;
  48. for (d=0;d<=167;d++)
  49. {
  50. zmienna=liczba;
  51. licznik=(zmienna/wzornik[d])/(round(liczba/wzornik[d]));
  52. if (licznik==1) d=200;
  53. else s++;
  54. }
  55. if (s>=168)
  56. {
  57. lista.push_back(liczba);
  58. }
  59. }
  60. cin>>n;
  61. for (int u=0;u<=n-1;u++)
  62. {
  63. cin>>x>>y;
  64. for(list<int>::iterator j=lista.begin(); j!= lista.end() ; j++)
  65. {
  66. z=*j;
  67. if ((z>=x)&&(z<=y)) w++;
  68. }
  69. cout<<w<<endl;
  70. w=0;
  71. }
  72. koniec=clock();
  73. czas=(double)(koniec-start) / CLOCKS_PER_SEC;
  74. cout << " Zajelo to :" << czas << "czasu"<<endl;
  75. return 0;
  76. }
Success #stdin #stdout 0.14s 17616KB
stdin
5
1 5
2 5
1 1000000
500 50000
22 799999
stdout
 Zajelo to :0.000402czasu
 Zajelo to :0.000438czasu
3
3
78498
5038
63943
 Zajelo to :0.149952czasu