определить количество пар, для которых полученная сумма делится на 12.
Дан набор из N целых положительных чисел. Из этих чисел формируются все возможные пары (парой считаются два элемента, которые находятся на разных местах в наборе, порядок чисел в паре не учитывается), в каждой паре вычисляется сумма элементов. Необходимо определить количество пар, для которых полученная сумма делится на 12.
Источник: onlyege
Решение:
Чтобы сумма двух чисел делилась на 12, они оба должны делиться на 12 либо сумма их остатков от деления на 12 должна быть равна 12.
Программа на языке C++. (4б)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <iostream> using namespace std; int main(){ int N; //количество чисел int a; //очередное число int d[12]; // группы по остаткам int s; //количество пар int i; for (i=0;i<=11;i++) d[i]=0; cin>>N; for(i=0;i<N;i++){ cin>>a; d[a%12]++; } s = (d[0]*(d[0]-1) + d[6]*(d[6]-1)) / 2; for(i=1;i<=5;i++) s += d[i]*d[12-i]; cout<<s; return 0; } |
