fork download
  1. #include<bits/stdc++.h>
  2. //Phan Thanh Nhàn
  3. using namespace std;
  4. #define MAXN 100007
  5. int n,a[MAXN];
  6. int C[MAXN];
  7. int B=0;
  8. void c3a(const char* input){
  9. FILE *f1=fopen(input,"r");
  10. if (!f1) return;
  11. fscanf(f1,"%d",&n);
  12. for(int i=0;i<n;i++)
  13. fscanf(f1,"%d",&a[i]);
  14. fclose(f1);
  15. }
  16. int prime(int n){
  17. if(n<2) return 0;
  18. for(int i=2;i<=sqrt(n);i++){
  19. if(n%i==0) return 0;
  20. }
  21. return 1;
  22. }
  23. void c3b(const char* input){
  24. FILE *f1=fopen(input,"r");
  25. if (!f1) return;
  26.  
  27. fscanf(f1,"%d",&n);
  28. for(int i=0;i<n;i++){
  29. fscanf(f1,"%d",&a[i]);
  30. if(prime(a[i]))
  31. B++;
  32. }
  33.  
  34. fclose(f1);
  35. }
  36. void c3c(const char* input){
  37. FILE *f1=fopen(input,"r");
  38. if (!f1) return;
  39. fscanf(f1,"%d",&n);
  40. for(int i=0;i<n;i++)
  41. fscanf(f1,"%d",&a[i]);
  42.  
  43.  
  44. for(int i=0;i<n;i++)
  45. C[i]=a[i];
  46. //làm qua trung gian. Để không ảnh hưởng a[n] ban đầu
  47. //nhưng đối với bài này thì k có cx được
  48. //chỉ cần xóa cái copy trên và fix ở dưới là oke
  49. for(int i=0;i<=n-2;i++)
  50. for(int j=0;j<=n-2-i;j++)
  51. if(C[j]>C[j+1])
  52. swap(C[j],C[j+1]);
  53.  
  54. fclose(f1);
  55. }
  56. void c3d(const char* input,const char* output){
  57. FILE *f1=fopen(input,"r"),*f2=fopen(output,"w");
  58. if (!f1||!f2) return;
  59. fprintf(f2,"%d \n",B);
  60. fscanf(f1,"%d",&n);
  61. for(int i=0;i<n;i++)
  62. fprintf(f2,"%d ",C[i]);
  63.  
  64. fclose(f1);fclose(f2);
  65. }
  66. int main(){
  67. const char* input="num_input.txt";
  68. const char* output="num_output.txt";
  69. c3a(input);
  70. c3b(input);
  71. c3c(input);
  72. c3d(input,output);
  73.  
  74. }
  75.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Standard output is empty