Các cặp tổng chia hết(Divisible Sum Pairs)

Bạn được cung cấp một mảng n số nguyên ar = [ar[0], ar[1], ... ar[n - 1]] và một số nguyên dương k Tìm và in số lượng (i, j) cặp trong đó i < j và ar[i] + ar[j] chia hết cho k
Ví dụ, ar = [1, 2, 3, 4, 5, 6] và k = 5. Ba cặp của chúng tôi đáp ứng các tiêu chí là [1, 4] , [2, 3] và [4,6]

Mô tả chức năng
Hoàn thành chức năng divisibleSumPairs trong trình chỉnh sửa bên dưới. Nó sẽ trả về số nguyên của các cặp đáp ứng tiêu chí.

divisibleSumPairs có (các) tham số sau:
n: chiều dài nguyên của mảng ar
ar: một mảng các số nguyên
k: số nguyên để chia tổng của cặp theo

Định dạng đầu vào
Dòng đầu tiên chứa 2 số nguyên cách nhau không gian, n và k
Dòng thứ hai chứa n số nguyên cách nhau không gian mô tả các giá trị của ar[ar[0], ar[1], ...., ar[n -1]]

Những ràng buộc
2 <= n <= 100
1 <= k <= 100
1 <= ar[i] <= 100

Định dạng đầu ra
In ra số (i, j) cặp trong đó i < j và ar[i] + ar[j] chia đều cho k

Đầu vào mẫu
6 3
1 3 2 6 1 2

Đầu ra mẫu
5

Giải trình
Dưới đây là 5 cặp hợp lệ khi k = 3
(0,2) -> ar[0] + ar[2] = 1 + 2 = 3
(0,5) -> ar[0] + ar[5] = 1 + 2 = 3
(1,3) -> ar[1] + ar[3] = 3 + 6 = 9
(2,4) -> ar[2] + ar[4] = 2 + 1 = 3
(4,5) -> ar[4] + ar[5] = 1 + 2 = 3

 php

<?php

// Complete the divisibleSumPairs function below.
function divisibleSumPairs($n, $k, $ar) {
$counter = 0;
for($i = 0; $i < $n - 1; $i++) {
for($j = $i + 1; $j < $n ; $j++) {
if(($ar[$i] + $ar[$j]) % $k == 0) {
$counter++;
}
}
}
return $counter;
}

$fptr = fopen(getenv("OUTPUT_PATH"), "w");

$stdin = fopen("php://stdin", "r");

fscanf($stdin, "%[^\n]", $nk_temp);
$nk = explode(' ', $nk_temp);

$n = intval($nk[0]);

$k = intval($nk[1]);

fscanf($stdin, "%[^\n]", $ar_temp);

$ar = array_map('intval',
preg_split('/ /', $ar_temp, -1, PREG_SPLIT_NO_EMPTY));

$result = divisibleSumPairs($n, $k, $ar);

fwrite($fptr, $result . "\n");

fclose($stdin);
fclose($fptr);

Comments

Popular posts from this blog

Intro to Tutorial Challenges

Strong Password