Advertisement
Guest User

Bài tập

a guest
Nov 30th, 2015
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.42 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. // Cau a
  5. void docFile(int a[], int &n) {
  6.     FILE *f;
  7.     f = fopen("number2.in", "rt");
  8.     fscanf(f, "%d\n", &n);
  9.     for(int i = 0; i < n; i++) {
  10.         fscanf(f, "%d", &a[i]);
  11.     }
  12.     fclose(f);
  13. }
  14.  
  15. // Cau b
  16. int sumChan(int a[], int n) {
  17.     int sum = 0;
  18.     for(int i = 0; i < n; i++)
  19.         if(a[i]%2 == 0) sum += a[i];
  20.     return sum;
  21. }
  22.  
  23. // Cau c
  24. int numChiaK(int a[], int n, int k, int chiaK[]) {
  25.     int count = 0;
  26.     for(int i = 0; i < n; i++)
  27.         if(a[i]%k == 0) chiaK[count++] = a[i];
  28.     return count;
  29. }
  30.  
  31. // Cau d
  32. int laSNT(int a) {
  33.     if(a < 2) return 0;
  34.     if(a == 2) return 1;
  35.     for(int i = 2, j = sqrt(a); i <= j; i++)
  36.         if(a % i == 0) return 0;
  37.     return 1;
  38. }
  39. int soNT(int a[], int n, int luu[]) {
  40.     int count = 0;
  41.     for(int i = 0; i < n; i++)
  42.         if(laSNT(a[i])) luu[count++] = a[i];
  43.     return count;
  44. }
  45.  
  46. int main() {
  47.     int a[100], n, sumchan, soNguyenTo[100], chiaK[100], k;
  48.     docFile(a, n);
  49.  
  50.     // Mo file
  51.     FILE *f;
  52.     f = fopen("number2.out", "wt");
  53.    
  54.     // Ghi cac so trong day
  55.     for(int i = 0; i < n; i++) fprintf(f, "%d ", a[i]);
  56.     fprintf(f, "\n");
  57.  
  58.     // Cau b
  59.     sumchan = sumChan(a, n);
  60.     printf("Tong cac so nguyen chan: %d\n", sumchan);
  61.     // Ghi file
  62.     fprintf(f, "Tong cac so nguyen chan: %d\n", sumchan);
  63.  
  64.     // Cau c
  65.     printf("Nhap so nguyen k = ");
  66.     scanf("%d", &k);
  67.     int nck = numChiaK(a, n, k, chiaK);
  68.     if(nck) {
  69.         printf("Cac so chia het cho %d: ", k);
  70.         for(int i = 0; i < nck; i++) printf("%d ", chiaK[i]);
  71.         printf("\n");
  72.        
  73.         // Ghi file
  74.         fprintf(f, "Cac so chia het cho %d: ", k);
  75.         for(int i = 0; i < nck; i++) fprintf(f, "%d ", chiaK[i]);
  76.         fprintf(f, "\n");
  77.     } else {
  78.         printf("Khong co so nao chia het cho %d\n", k);
  79.         fprintf(f, "Khong co so nao chia het cho %d\n", k);
  80.     }
  81.    
  82.     // Cau d
  83.     int nnt = soNT(a, n, soNguyenTo);
  84.     if(nnt) {
  85.         printf("Cac so nguyen to: ");
  86.         for(int i = 0; i < nnt; i++) printf("%d ", soNguyenTo[i]);
  87.         printf("\n");
  88.  
  89.         // Ghi file
  90.         fprintf(f, "Cac so nguyen to: ");
  91.         for(int i = 0; i < nnt; i++) fprintf(f, "%d ", soNguyenTo[i]);
  92.         fprintf(f, "\n");
  93.     } else {
  94.         printf("Khong co so nguyen to nao\n");
  95.         fprintf(f, "Khong co so nguyen to nao\n");
  96.     }
  97.     fclose(f);
  98.    
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement