Exemple #1
0
        public int Solution(int[] A, int[] B)
        {
            var countPairs  = 0;
            var gcdProvider = new Gcd();

            for (int i = 0; i < A.Length; i++)
            {
                var gcd = gcdProvider.GcdBinary(A[i], B[i], 1);

                var residueA = A[i] / gcd;
                var residueB = B[i] / gcd;

                if ((gcd % residueA == 0) && (gcd % residueB == 0))
                {
                    countPairs++;
                }
            }

            return(countPairs);
        }