> For the complete documentation index, see [llms.txt](https://uby-rn.gitbook.io/react-native/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://uby-rn.gitbook.io/react-native/ders-1.2/javascript-l2/algoritma-ornekleri.md).

# Algoritma Örnekleri

Aşağıdaki örnekler çok daha farklı şekillerde çözülebilir. Tek bir çözüme bağlı kalmamaya çalışarak inceleyelim.

<details>

<summary>İki Sayının Toplamı</summary>

```javascript
let sayi1 = prompt("Birinci sayıyı giriniz:"); 
let sayi2 = prompt("İkinci sayıyı giriniz:");
let toplam = parseInt(sayı1) + parseInt(sayı2); 

console.log("Toplam: " + toplam);
```

</details>

<details>

<summary>Örnek: Faktöriyel Almak (Lütfen cevabı açmada önce düşününüz)</summary>

```javascript
function factoritel(n) {
    let faktoriyel = 1; 
    
    for (let i = 2; i <= n; i++) {
        faktoriyel *= i; 
    } 
    
    return faktoriyel;
}

console.log(n + " sayısının faktöriyeli: " + faktoriyel());
```

</details>

<details>

<summary>Sayının Asal Olup Olmadığını Kontrol Etmek</summary>

```javascript
function isPrime(num) {
    if (num <= 1) {
        return false;
    }
    for (let i = 2; i <= Math.sqrt(num); i++) {
        if (num % i === 0) {
            return false;
        }
    }
    return true;
}

console.log(isPrime(17));
```

</details>

<details>

<summary>Fibonacci Serisi</summary>

```javascript
function fibonacci(n) {
    let fib = [0, 1];
    for (let i = 2; i <= n; i++) {
        fib[i] = fib[i - 1] + fib[i - 2];
    }
    return fib.slice(0, n);
}

console.log(fibonacci(10));
```

</details>

<details>

<summary>Dizinin En Büyük Elemanını bulma</summary>

```javascript
function findMax(arr) {
    let max = arr[0];
    for (let i = 1; i < arr.length; i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
    }
    return max;
}

console.log(findMax([3, 7, 2, 9, 1]));
```

</details>

<details>

<summary>Dizi Elemanlarını Topla</summary>

```javascript
function sumArray(arr) {
    return arr.reduce((acc, curr) => acc + curr, 0);
}

console.log(sumArray([1, 2, 3, 4, 5]));
```

</details>

<details>

<summary>String İfadeyi Tersine Çevir </summary>

```javascript
function reverseString(str) {
    return str.split('').reverse().join('');
}

console.log(reverseString("hello"));
```

</details>

<details>

<summary>Tekrarlanan İfadeyi Bul</summary>

```javascript
function findDuplicates(arr) {
    let duplicates = {};
    arr.forEach(num => {
        duplicates[num] = (duplicates[num] || 0) + 1;
    });
    return Object.keys(duplicates).filter(key => duplicates[key] > 1).map(Number);
}

console.log(findDuplicates([1, 2, 2, 3, 4, 4, 5]));
```

</details>

<details>

<summary>Cümledeki En Uzun Kelimeyi Bul</summary>

```javascript
function longestWord(sentence) {
    const words = sentence.split(' ');
    let longest = '';
    words.forEach(word => {
        if (word.length > longest.length) {
            longest = word;
        }
    });
    return longest;
}

console.log(longestWord("JavaScript algoritma çözümleri"));
```

</details>

<details>

<summary>Kelimenin Palindrom Olup Olmaması Kontrolü</summary>

```javascript
function isPalindrome(str) {
    let rev = str.split("").reverse().join("");
 
    if (rev == str) {
        return true
    }
    return false
}
```

</details>
