Advertisement
kirya_shkolnik

27. Задание (последняя цифра 3)

Jun 30th, 2020
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None | 0 0
  1. //АЛАРМ - ЗАДАЧА РЕАЛЬНО СЛОЖНАЯ В СМЫСОЛЕ
  2. //На вход программы поступает последовательность из N натуральных
  3. //чисел. Рассматриваются все пары различных элементов последовательности (элементы пары не
  4. //обязательно должны стоять в последовательности рядом, порядок в паре неважен). Необходимо
  5. //определить количество пар, для которых произведение элементов заканчивается на 3, а номера
  6. //чисел в последовательности отличаются не менее, чем на 6.
  7.  
  8.  
  9.  
  10. // Нам удовлетворяют произведения 3,33,63,93,123,153
  11. // Этого можно добиться если умножить 3 на 1
  12. // или 9 на 7
  13. // Или же это будут последние цифры в числах (33 * 131 = 4323)
  14.  
  15. // Смысол перебора посмотриш в похожих задачах ( мне лень писать )
  16.  
  17. #include <iostream>
  18.  
  19. using namespace std;
  20.  
  21. int main(){
  22.     const int number = 3, diff = 6;
  23.     int lastnum1=0, lastnum3=0, lastnum7=0, lastnum9=0;
  24.     int a[diff], N, count=0, temp;
  25.     cin >> N;
  26.     for(int i=0; i<diff; ++i){
  27.         cin >> a[i];
  28.     }
  29.     for(int i=diff; i<N; ++i){
  30.         cin >> temp;
  31.  
  32.         if(a[0]%10 == 1) lastnum1++;
  33.         if(a[0]%10 == 3) lastnum3++;
  34.         if(a[0]%10 == 7) lastnum7++;
  35.         if(a[0]%10 == 9) lastnum9++;
  36.        
  37.         if(temp%10 == 1) count+=lastnum3;
  38.         if(temp%10 == 3) count+=lastnum1;
  39.         if(temp%10 == 7) count+=lastnum9;
  40.         if(temp%10 == 9) count+=lastnum7;
  41.        
  42.        
  43.         for(int j=0; j<diff-1; ++j) a[j] = a[j+1];
  44.         a[diff-1]=temp;
  45.     }
  46.     cout << count;
  47.    
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement