Số ở giữa (Between Two Sets)

Bạn được cho 2 mảng các số nguyên xác định tất cả các số nguyên thỏa mãn 2 điều kiện sau:
1. các phần tử của mảng đầu tiên điều là các hệ số của số đang xét
2. số đang xét là hệ số của tất cả phần tử màng số 2

Những con số này được gọi là nằm giữa hai mảng. bạn hãy xác định có bao nhiêu số tồn tại.
cho ví dụ cho 2 số cho mảng a = [2, 6] và mảng b = [24, 36] do đó có 2 số nằm giữa là 6 và 12. 6%2 = 0 6%6 = 0 24%6 = 0 và 36%6 = 0 cho giá trị đầu tiên. tương tự 12%2  0 và 12 % 6 = 0 và 24 % 12 = 0 và 36%12 = 0

Miêu tả chức năng
Hoàn thành getTotalX được cho như bên dưới. Nó sẽ trả về con số giữa 2 bộ này
getTotalX có các giá trị parameter sau

a: giá trị mảng các số nguyên
b: giá trị mảng các số nguyên

giá trị đầu vào
Hoàn thành getTotalX được cho như bên dưới. hãy trả về các con số giữa 2 bộ. getTotalX có các parameter sau

a: 1 mảng các số nguyên
b: 1 mảng các số nguyên

giá trị đầu vào
dòng đầu tiên các số riêng biệt m và n. số các phần tử của mảng a và mảng b.
dòng thứ 2 chứa n số nguyên riêng biệt biêu diễn a[i] với 0<= i <n
dòng thứ 3 chứa m số nguyên riêng biệt biêu diễn b[j] với 0<= j <m

ràng buộc
1<= n,m <= 10
1<= a[i] <= 100
1<= b[j] < = 100

giá trị đầu ra
In ra các số đươc chọn ở giữa a và b

ví dụ đầu vào
2 3
2 4
16 32 96

ví dụ đầu ra
3

giải thích
2 và 4 được chia bởi các số 4 , 8, 12 và 16
4 , 8 và 16 được chia hết cho 16 , 32 và 96

4, 8 và 16 chỉ là 3 số với mỗi phần tử a là hệ số và là hệ số của tất cả phần tử b

php

<?php

/*
* Complete the 'getTotalX' function below.
*
* The function is expected to return an INTEGER.
* The function accepts following parameters:
* 1. INTEGER_ARRAY a
* 2. INTEGER_ARRAY b
*/
function lcmAr($arr) {
$lcm_val = $arr[0];
foreach($arr as $val) {
$lcm = gmp_lcm($lcm_val, $val);
$lcm_val = gmp_strval($lcm);
}
return $lcm_val;
}

function gcdAr($arr) {
$gcd_val = $arr[0];
foreach($arr as $val) {
$gcd = gmp_gcd($gcd_val, $val);
$gcd_val = gmp_strval($gcd);
}
return $gcd_val;
}


function getTotalX($a, $b) {
$lcmAr = lcmAr($a);
$gcdAr = gcdAr($b);
$cond = true;
$index = 0;
$counter = 0;
while($cond) {
$index++;
if($lcmAr > $gcdAr) {
$cond = false;
} else if($index * $lcmAr > $gcdAr ) {
$cond = false;
} else
{
$a =$index * $lcmAr;
if( $gcdAr % $a == 0 ) {
$counter++;
}
}
}

return $counter;
}

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

$first_multiple_input
= explode(' ', rtrim(fgets(STDIN)));

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

$m = intval($first_multiple_input[1]);

$arr_temp = rtrim(fgets(STDIN));

$arr = array_map('intval',
preg_split('/ /', $arr_temp, -1,
PREG_SPLIT_NO_EMPTY));

$brr_temp = rtrim(fgets(STDIN));

$brr = array_map('intval',
preg_split('/ /', $brr_temp, -1,
PREG_SPLIT_NO_EMPTY));

$total = getTotalX($arr, $brr);

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

fclose($fptr);





Comments

Popular posts from this blog

Intro to Tutorial Challenges

Mini-Max Sum