fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int iloscliczb;
  8. cin >> iloscliczb;
  9. int *tab = new int[iloscliczb];
  10.  
  11. //wczytywanie liczb do tablicy
  12. for (int i = 0; i < iloscliczb; i++){
  13. cin >> tab[i];
  14. }
  15.  
  16. //wyszukiwanie max w tablicy
  17. int max = tab[0];
  18. for (int i = 0; i < iloscliczb; i++){
  19. if (max < tab[i]){
  20. max = tab[i];
  21. }
  22. }
  23.  
  24. bool *liczbypierwsze = new bool [max + 1];
  25.  
  26. // zapełnienie tablic indeksowaniej od maxa (bo tyle najwięcej będzie wartości)
  27. for (int i = 0; i <= max ; i++){
  28. liczbypierwsze[i] = false;
  29. }
  30.  
  31. //wpisywanie false gdy indeks i nie jest pierwszy
  32. for (int i = 2; i <= max + 1 ; i++){
  33. int k = 2;
  34. if (liczbypierwsze[i] == false){
  35. while(k*i <= max + 1){
  36. liczbypierwsze[k*i] = true;
  37. k = k + 1;
  38. }
  39. }
  40. }
  41.  
  42. for (int i = 0; i < iloscliczb; i++){
  43. if(liczbypierwsze[tab[i]] == false) cout << "T" << endl;
  44. else cout << "N" << endl;
  45. }
  46.  
  47.  
  48. return 0;
  49. }
  50.  
Success #stdin #stdout 0s 3472KB
stdin
1
2017
stdout
T