Tarkibga o'tish

3-bo'lim: Sonlar va matematika

↑ Mundarijaga qaytish

26. Tub son tekshirish

JS

const isPrime = n => {
  if (n < 2) return false;
  for (let i = 2; i * i <= n; i++) if (n % i === 0) return false;
  return true;
};
PHP
function isPrime($n) {
    if ($n < 2) return false;
    for ($i = 2; $i * $i <= $n; $i++) if ($n % $i === 0) return false;
    return true;
}
Python
def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

27. N tagacha tub sonlar

JS

const primes = n => Array.from({ length: n - 1 }, (_, i) => i + 2).filter(isPrime);
PHP
function primes($n) {
    return array_values(array_filter(range(2, $n), 'isPrime'));
}
Python
def primes(n):
    return [x for x in range(2, n + 1) if is_prime(x)]

28. EKUB β€” eng katta umumiy bo'luvchi (GCD)

JS

const gcd = (a, b) => b === 0 ? a : gcd(b, a % b);
PHP
function gcd($a, $b) {
    return $b === 0 ? $a : gcd($b, $a % $b);
}
Python
def gcd(a, b):
    return a if b == 0 else gcd(b, a % b)

29. EKUK β€” eng kichik umumiy karrali (LCM)

JS

const lcm = (a, b) => a / gcd(a, b) * b;
PHP
function lcm($a, $b) {
    return $a / gcd($a, $b) * $b;
}
Python
def lcm(a, b):
    return a // gcd(a, b) * b

30. Mukammal son (perfect number)

Bo'luvchilari yig'indisi o'ziga teng (mas: 6, 28).

JS

const isPerfect = n => {
  let sum = 0;
  for (let i = 1; i < n; i++) if (n % i === 0) sum += i;
  return sum === n;
};
PHP
function isPerfect($n) {
    $sum = 0;
    for ($i = 1; $i < $n; $i++) if ($n % $i === 0) $sum += $i;
    return $sum === $n;
}
Python
def is_perfect(n):
    return sum(i for i in range(1, n) if n % i == 0) == n

31. Armstrong soni

Har raqamning (raqamlar soni)-darajasi yig'indisi songa teng (mas: 153).

JS

const isArmstrong = n => {
  const d = String(n).split("");
  const p = d.length;
  return d.reduce((s, x) => s + (+x) ** p, 0) === n;
};
PHP
function isArmstrong($n) {
    $d = str_split((string) $n);
    $p = count($d);
    return array_sum(array_map(fn($x) => $x ** $p, $d)) === $n;
}
Python
def is_armstrong(n):
    d = str(n)
    p = len(d)
    return sum(int(x) ** p for x in d) == n

32. Palindrom son

JS

const isPalindromeNum = n => String(n) === String(n).split("").reverse().join("");
PHP
function isPalindromeNum($n) {
    return (string) $n === strrev((string) $n);
}
Python
def is_palindrome_num(n):
    return str(n) == str(n)[::-1]

33. O'nlikdan ikkilikka (decimal β†’ binary)

JS

const toBinary = n => n.toString(2);
PHP
function toBinary($n) {
    return decbin($n);
}
Python
def to_binary(n):
    return bin(n)[2:]

34. Ikkilikdan o'nlikka (binary β†’ decimal)

JS

const fromBinary = s => parseInt(s, 2);
PHP
function fromBinary($s) {
    return bindec($s);
}
Python
def from_binary(s):
    return int(s, 2)

35. O'rta arifmetik (average)

JS

const avg = arr => arr.reduce((a, b) => a + b, 0) / arr.length;
PHP
function avg($arr) {
    return array_sum($arr) / count($arr);
}
Python
def avg(arr):
    return sum(arr) / len(arr)

36. Sonning bo'luvchilari (divisors)

JS

const divisors = n => Array.from({ length: n }, (_, i) => i + 1).filter(i => n % i === 0);
PHP
function divisors($n) {
    return array_values(array_filter(range(1, $n), fn($i) => $n % $i === 0));
}
Python
def divisors(n):
    return [i for i in range(1, n + 1) if n % i == 0]

37. Tub ko'paytuvchilarga ajratish (prime factorization)

60 β†’ [2, 2, 3, 5].

JS

const primeFactors = n => {
  const f = [];
  for (let d = 2; d * d <= n; d++) {
    while (n % d === 0) { f.push(d); n /= d; }
  }
  if (n > 1) f.push(n);
  return f;
};
PHP
function primeFactors($n) {
    $f = [];
    for ($d = 2; $d * $d <= $n; $d++) {
        while ($n % $d === 0) { $f[] = $d; $n /= $d; }
    }
    if ($n > 1) $f[] = $n;
    return $f;
}
Python
def prime_factors(n):
    f = []
    d = 2
    while d * d <= n:
        while n % d == 0:
            f.append(d)
            n //= d
        d += 1
    if n > 1:
        f.append(n)
    return f

38. Ikki son orasidagi tub sonlar

JS

const primesBetween = (a, b) => {
  const r = [];
  for (let i = a; i <= b; i++) if (isPrime(i)) r.push(i);
  return r;
};
PHP
function primesBetween($a, $b) {
    return array_values(array_filter(range($a, $b), 'isPrime'));
}
Python
def primes_between(a, b):
    return [i for i in range(a, b + 1) if is_prime(i)]

39. Kvadrat tenglama yechimi

axΒ² + bx + c = 0.

JS

const quadratic = (a, b, c) => {
  const d = b * b - 4 * a * c;
  if (d < 0) return [];
  const sq = Math.sqrt(d);
  return d === 0 ? [-b / (2 * a)] : [(-b + sq) / (2 * a), (-b - sq) / (2 * a)];
};
PHP
function quadratic($a, $b, $c) {
    $d = $b * $b - 4 * $a * $c;
    if ($d < 0) return [];
    $sq = sqrt($d);
    return $d == 0
        ? [-$b / (2 * $a)]
        : [(-$b + $sq) / (2 * $a), (-$b - $sq) / (2 * $a)];
}
Python
import math

def quadratic(a, b, c):
    d = b * b - 4 * a * c
    if d < 0:
        return []
    sq = math.sqrt(d)
    if d == 0:
        return [-b / (2 * a)]
    return [(-b + sq) / (2 * a), (-b - sq) / (2 * a)]

40. Foiz hisoblash

part dan whole gacha foiz.

JS

const percent = (part, whole) => part / whole * 100;
PHP
function percent($part, $whole) {
    return $part / $whole * 100;
}
Python
def percent(part, whole):
    return part / whole * 100