Advertisement
tdttvd

array

Jan 2nd, 2022
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.47 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3. #include <math.h>
  4.  
  5. #define MAX 10
  6. #define loop(x, a, b) for (int x = a; x < b; ++x)
  7.  
  8. bool isPrime(int n)
  9. {
  10.     if (n == 0 || n == 1)
  11.         return false;
  12.  
  13.     for (int i = 2; i <= sqrt(n); ++i)
  14.         if (n % i == 0)
  15.             return false;
  16.  
  17.     return true;
  18. }
  19.  
  20. int main()
  21. {
  22.     int arr[MAX];
  23.     int N;
  24.     do
  25.     {
  26.         scanf("%d", &N);
  27.     } while (N < 3 || N > 10);
  28.  
  29.     loop(i, 0, N)
  30.         scanf("%d", &arr[i]);
  31.  
  32.     // Câu 2:
  33.     int even = 0;
  34.     loop(i, 0, N) if (arr[i] > 0 && !(arr[i] & 1))++ even;
  35.  
  36.     printf("%d\n", even);
  37.  
  38.     // Câu 3:
  39.     int first_prime = -1;
  40.     loop(i, 0, N)
  41.     {
  42.         if (isPrime(arr[i]))
  43.         {
  44.             first_prime = arr[i];
  45.             break;
  46.         }
  47.     }
  48.     if (first_prime != -1)
  49.         printf("%d\n", first_prime);
  50.  
  51.     // Câu 4:
  52.     int sum = 0;
  53.     loop(i, 0, N)
  54.         sum += (i + 1) * arr[i];
  55.     printf("%d\n", sum);
  56.  
  57.     // Câu 5:
  58.     bool found;
  59.     int index = 0;
  60.     int check[MAX];
  61.  
  62.     loop(i, 0, N)
  63.     {
  64.         found = false;
  65.         loop(j, 0, index)
  66.         {
  67.             if (arr[i] == check[j])
  68.             {
  69.                 found = true;
  70.                 break;
  71.             }
  72.         }
  73.         if (!found)
  74.         {
  75.             check[index] = arr[i];
  76.             ++index;
  77.         }
  78.     }
  79.  
  80.     loop(i, 0, index)
  81.         printf("%d ", check[i]);
  82.  
  83.     printf("\n");
  84.  
  85.     // Câu 6:
  86.     sum = abs(arr[0] + arr[1]);
  87.     int first = 0;
  88.     int second = 1;
  89.     loop(i, 0, N)
  90.     {
  91.         loop(j, i + 1, N)
  92.         {
  93.             if (abs(arr[i] + arr[j]) < sum)
  94.             {
  95.                 sum = abs(arr[i] + arr[j]);
  96.                 first = i;
  97.                 second = j;
  98.             }
  99.         }
  100.     }
  101.     printf("%d %d\n", arr[first], arr[second]);
  102.  
  103.     // Câu 7:
  104.     int max = arr[0];
  105.     int min_1 = arr[0];
  106.     int min_2 = arr[0];
  107.     int min_count = 0;
  108.  
  109.     loop(i, 0, N)
  110.     {
  111.         max = (max < arr[i]) ? arr[i] : max;
  112.         min_1 = (min_1 > arr[i]) ? arr[i] : min_1;
  113.     }
  114.  
  115.     loop(i, 0, N)
  116.     {
  117.         if (arr[i] < min_2 && arr[i] > min_1)
  118.             min_2 = arr[i];
  119.  
  120.         if (arr[i] == min_1)
  121.         {
  122.             ++min_count;
  123.             if (min_count == 2)
  124.             {
  125.                 min_2 = min_1;
  126.                 break;
  127.             }
  128.         }
  129.     }
  130.  
  131.     if (max > (min_1 + min_2))
  132.         printf("YES");
  133.     else
  134.         printf("NO");
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement