مجموعه الگوریتم جاوااسکریپت – سطح Junior

بررسی عدد اول

function isPrime(num) {
    if (num <= 1) return false;
    for (let i = 2; i < num; i++) {
        if (num % i === 0) return false;
    }
    return true;
}
console.log(isPrime(7)); // true

پیدا کردن بزرگترین عدد در یک آرایه

function findLargest(arr) {
    return Math.max(...arr);
}
console.log(findLargest([3, 5, 9, 2])); // 9

معکوس کردن یک رشته

function reverseString(str) {
    return str.split('').reverse().join('');
}
console.log(reverseString("hello")); // "olleh"

فاکتوریل یک عدد

function factorial(n) {
    if (n === 0) return 1;
    return n * factorial(n - 1);
}
console.log(factorial(5)); // 120

مجموع ارقام یک عدد

function sumOfDigits(num) {
    return num.toString().split('').reduce((sum, digit) => sum + parseInt(digit), 0);
}
console.log(sumOfDigits(123)); // 6

چک کردن عدد پالیندروم (واروخوانه)

function isPalindrome(num) {
    const str = num.toString();
    return str === str.split('').reverse().join('');
}
console.log(isPalindrome(121)); // true

ایجاد دنباله فیبوناچی

function fibonacci(n) {
    const sequence = [0, 1];
    for (let i = 2; i <= n; i++) {
        sequence.push(sequence[i - 1] + sequence[i - 2]);
    }
    return sequence;
}
console.log(fibonacci(5)); // [0, 1, 1, 2, 3]

فیبوناچی به صورت بازگشتی

function fibonacciRecursive(n) {
    if (n <= 1) return n;
    return fibonacciRecursive(n - 1) + fibonacciRecursive(n - 2);
}
console.log(fibonacciRecursive(5)); // 5

مرتب سازی حبابی

function bubbleSort(arr) {
    let swapped;
    do {
        swapped = false;
        for (let i = 0; i < arr.length - 1; i++) {
            if (arr[i] > arr[i + 1]) {
                [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
                swapped = true;
            }
        }
    } while (swapped);
    return arr;
}
console.log(bubbleSort([3, 1, 5, 2])); // [1, 2, 3, 5]

مرتب سازی سریع

function quickSort(arr) {
    if (arr.length <= 1) return arr;
    const pivot = arr[arr.length - 1];
    const left = arr.filter((x) => x < pivot);
    const right = arr.filter((x) => x > pivot);
    return [...quickSort(left), pivot, ...quickSort(right)];
}
console.log(quickSort([3, 6, 8, 1, 5])); // [1, 3, 5, 6, 8]

جستجوی دودویی

function binarySearch(arr, target) {
    let start = 0, end = arr.length - 1;
    while (start <= end) {
        let mid = Math.floor((start + end) / 2);
        if (arr[mid] === target) return mid;
        else if (arr[mid] < target) start = mid + 1;
        else end = mid - 1;
    }
    return -1;
}
console.log(binarySearch([1, 2, 3, 4, 5], 3)); // 2

پیدا کردن کوچکترین عدد در یک آرایه

function findSmallest(arr) {
    return Math.min(...arr);
}
console.log(findSmallest([3, 5, 9, 2])); // 2

حذف عناصر تکراری از آرایه

function removeDuplicates(arr) {
    return [...new Set(arr)];
}
console.log(removeDuplicates([1, 2, 2, 3, 3])); // [1, 2, 3]

محاسبه توان عدد

function power(base, exponent) {
    return Math.pow(base, exponent);
}
console.log(power(2, 3)); // 8

الگوریتم Euclid برای یافتن بزرگترین مقسوم‌علیه مشترک (GCD)

function gcd(a, b) {
    while (b !== 0) {
        [a, b] = [b, a % b];
    }
    return a;
}
console.log(gcd(48, 18)); // 6

چک کردن تساوی آرایه ها

function arraysEqual(arr1, arr2) {
    if (arr1.length !== arr2.length) return false;
    return arr1.every((val, index) => val === arr2[index]);
}
console.log(arraysEqual([1, 2, 3], [1, 2, 3])); // true

چک کردن آناگرام (واروواژه) بودن دو رشته

function areAnagrams(str1, str2) {
    const sortedStr1 = str1.split('').sort().join('');
    const sortedStr2 = str2.split('').sort().join('');
    return sortedStr1 === sortedStr2;
}
console.log(areAnagrams("listen", "silent")); // true

پیدا کردن دومین بزرگترین عدد در آرایه

function secondLargest(arr) {
    let uniqueArr = [...new Set(arr)].sort((a, b) => b - a);
    return uniqueArr[1];
}
console.log(secondLargest([1, 3, 4, 5, 2])); // 4

تبدیل یک رشته به حروف کوچک

function toLowerCase(str) {
    return str.toLowerCase();
}
console.log(toLowerCase("Hello World")); // "hello world"

حذف اعداد تکراری از یک آرایه

function removeDuplicateNumbers(arr) {
    return arr.filter((item, index) => arr.indexOf(item) === index);
}
console.log(removeDuplicateNumbers([1, 2, 2, 3, 3, 4])); // [1, 2, 3, 4]


دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *