3-bo'lim: Sonlar va matematika¶
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;
};
function isPrime($n) {
if ($n < 2) return false;
for ($i = 2; $i * $i <= $n; $i++) if ($n % $i === 0) return false;
return true;
}
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
PHP Python28. EKUB β eng katta umumiy bo'luvchi (GCD)¶
JS
PHP Python29. EKUK β eng kichik umumiy karrali (LCM)¶
JS
PHP Python30. 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;
};
function isPerfect($n) {
$sum = 0;
for ($i = 1; $i < $n; $i++) if ($n % $i === 0) $sum += $i;
return $sum === $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;
};
function isArmstrong($n) {
$d = str_split((string) $n);
$p = count($d);
return array_sum(array_map(fn($x) => $x ** $p, $d)) === $n;
}
32. Palindrom son¶
JS
PHP Python33. O'nlikdan ikkilikka (decimal β binary)¶
JS
PHP Python34. Ikkilikdan o'nlikka (binary β decimal)¶
JS
PHP Python35. O'rta arifmetik (average)¶
JS
PHP Python36. Sonning bo'luvchilari (divisors)¶
JS
PHP Python37. 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;
};
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;
}
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;
};
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)];
};
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)];
}
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
PHP Python