Hướng dẫn dùng gcd trong PHP

    • Math
      • average
      • factorial
      • fibonacci
      • gcd
      • isEven
      • sPrime
      • lcm
      • median
  • Math
    • average
    • factorial
    • fibonacci
    • gcd
    • isEven
    • sPrime
    • lcm
    • median

Math

average

Trả về kết quả trung bình cộng của 2 hoặc nhiều số

function average[...$items]
{
    $count = count[$items];
    
    return $count === 0 ? 0 : array_sum[$items] / $count;
}

Ex:

average[1, 2, 3]; // 2

factorial

Trả về giai thừa của một số

function factorial[$n]
{
    if [$n  2] {
        return array_reduce[$numbers, 'gcd'];
    }

    $r = $numbers[0] % $numbers[1];
    return $r === 0 ? abs[$numbers[1]] : gcd[$numbers[1], $r];
}

Ex:

gcd[8, 36]; // 4
gcd[12, 8, 32]; // 4

isEven

Kiểm tra là số chẵn

function isEven[$number]
{
    return [$number % 2] === 0;
}

Ex:

isEven[4]; // true

sPrime

Kiểm tra có phải là số nguyên tố

function isPrime[$number]
{
    $boundary = floor[sqrt[$number]];
    for [$i = 2; $i = 2;
}

Ex:

isPrime[3]; // true

lcm

Trả về bội số chung nhỏ nhất của 2 hoặc nhiều số

function lcm[...$numbers]
{
    $ans = $numbers[0];
    for [$i = 1, $max = count[$numbers]; $i < $max; $i++] {
        $ans = [[$numbers[$i] * $ans] / gcd[$numbers[$i], $ans]];
    }

    return $ans;
}

Ex:

lcm[12, 7]; // 84
lcm[1, 3, 4, 5]; // 60

median

Trả về số trung vị của một mảng

function median[$numbers]
{
    sort[$numbers];
    $totalNumbers = count[$numbers];
    $mid = floor[$totalNumbers / 2];

    return [$totalNumbers % 2] === 0 ? [$numbers[$mid - 1] + $numbers[$mid]] / 2 : $numbers[$mid];
}

Ex:

median[[1, 3, 3, 6, 7, 8, 9]]; // 6
median[[1, 2, 3, 6, 7, 9]]; // 4.5

Math

average

Trả về kết quả trung bình cộng của 2 hoặc nhiều số

function average[...$items]
{
    $count = count[$items];
    
    return $count === 0 ? 0 : array_sum[$items] / $count;
}

Ex:

average[1, 2, 3]; // 2

factorial

Trả về giai thừa của một số

function factorial[$n]
{
    if [$n  2] {
        return array_reduce[$numbers, 'gcd'];
    }

    $r = $numbers[0] % $numbers[1];
    return $r === 0 ? abs[$numbers[1]] : gcd[$numbers[1], $r];
}

Ex:

gcd[8, 36]; // 4
gcd[12, 8, 32]; // 4

isEven

Kiểm tra là số chẵn

function isEven[$number]
{
    return [$number % 2] === 0;
}

Ex:

isEven[4]; // true

sPrime

Kiểm tra có phải là số nguyên tố

function isPrime[$number]
{
    $boundary = floor[sqrt[$number]];
    for [$i = 2; $i = 2;
}

Ex:

isPrime[3]; // true

lcm

Trả về bội số chung nhỏ nhất của 2 hoặc nhiều số

function lcm[...$numbers]
{
    $ans = $numbers[0];
    for [$i = 1, $max = count[$numbers]; $i < $max; $i++] {
        $ans = [[$numbers[$i] * $ans] / gcd[$numbers[$i], $ans]];
    }

    return $ans;
}

Ex:

lcm[12, 7]; // 84
lcm[1, 3, 4, 5]; // 60

Trả về số trung vị của một mảng

function median[$numbers]
{
    sort[$numbers];
    $totalNumbers = count[$numbers];
    $mid = floor[$totalNumbers / 2];

    return [$totalNumbers % 2] === 0 ? [$numbers[$mid - 1] + $numbers[$mid]] / 2 : $numbers[$mid];
}

Ex:

median[[1, 3, 3, 6, 7, 8, 9]]; // 6
median[[1, 2, 3, 6, 7, 9]]; // 4.5

Còn nữa…

Source: //github.com/30-seconds/30-seconds-of-php-code

Việt Nam Tutor

Hi, mình là Anthony Nguyễn. Hiện đang là Full Stack Developer. Mong được giao lưu với bạn đọc và nhận được nhiều gạch đá, xi măng, sỏi để xây biệt thự:]

Chủ Đề