Skip to content

Commit fe963b0

Browse files
committed
Seri ve faktöriyel soruları eklendi 💥
1 parent 160e7fb commit fe963b0

File tree

5 files changed

+162
-0
lines changed

5 files changed

+162
-0
lines changed

10-Seri/README.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Bir Seri Değerini Hesaplamak
2+
3+
## ❓ Soru
4+
Aşağıda verilen işlemin sonucunu N=10 değeri için hesaplayan algoritmayı yazınız.
5+
6+
<img src="../res/SeriFormulu.png" height="75" />
7+
8+
## ⛓ Program Kısımları
9+
1. N değerini formüle yerleştirerek sonucu elde etmek.
10+
2. Hesaplanan toplamın sonucunu ekrana yazdırmak.
11+
12+
13+
## 👓 Çözüm Yöntemi
14+
- Formülde görüldüğu gibi, `n` değeri sabit, `i` artıyor.
15+
- `i`nin değişmesini sağlamak için 10 kere dönen bir döngü kullanırız. Döngü her döndüğünde `i`yi artırıp formüle yerleştiririz.
16+
17+
## 👩‍🔧 Çözüm Adımları
18+
1. `n` ve `i`nin tanımlanması.
19+
2. “toplam”ın float (reel) tanımlanması.
20+
3. 1’den 10’a kadar döngünün oluşturulması.
21+
a- `i`ye göre terim değerinin hesaplanıp önceki toplama eklenmesi.
22+
4. Formül sonucunun ekrana yazdırılması.
23+
24+
## 🤖 Kod
25+
<details>
26+
<summary>Tıkla</summary>
27+
28+
29+
```java
30+
public class Seri {
31+
public static void main(String arg[]) {
32+
int n = 10, i; // 1. adım
33+
float toplam = 0; // 2. adım
34+
for (i = 1; i <= 10; i++) // 3. adım
35+
{
36+
toplam = toplam + (i + (n - i) / faktoriyel(i)); // 3. adım (a)
37+
}
38+
System.out.println(toplam); // 4. adım
39+
}
40+
public static float faktoriyel(int a) { // 1. nota bak
41+
int f = 1, i;
42+
for (i = 2; i <= a; i++)
43+
f = f * i;
44+
return f;
45+
}
46+
}
47+
```
48+
</details>
49+
50+
51+
## 🎉 Ekran Çıktısı
52+
53+
```
54+
69.46454
55+
```
56+
57+
## 💡 Notlar
58+
1. Fonksiyon kavramını kullanarak önceki örnekte gördüğümüz faktöriyel hesaplama algoritmasını `faktoriyel(int a)` fonksiyonu içinde yazdık.

10-Seri/Seri.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
public class Seri {
2+
public static void main(String arg[]) {
3+
4+
// “n” ve “i”nin tanımlanması.
5+
int n = 10, i;
6+
7+
// “toplam”ın float (reel) tanımlanması
8+
float toplam = 0;
9+
10+
// 1’den 10’a kadar döngünün oluşturulması
11+
for (i = 1; i <= 10; i++)
12+
{
13+
// “i”ye göre terim değerinin hesaplanıp önceki toplama eklenmesi
14+
toplam = toplam + (i + (n - i) / faktoriyel(i));
15+
}
16+
17+
// Formül sonucunun ekrana yazdırılması
18+
System.out.println(toplam);
19+
}
20+
21+
public static float faktoriyel(int a) {
22+
int f = 1, i;
23+
for (i = 2; i <= a; i++)
24+
f = f * i;
25+
return f;
26+
}
27+
}

9-Faktöriyel/Faktoryel.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import java.util.*;
2+
public class Faktoryel {
3+
public static void main(String arg[]) {
4+
Scanner input = new Scanner(System.in);
5+
6+
// “i”, “f”, “n” tanımlanması
7+
int i, n, f = 1;
8+
System.out.print("n=");
9+
10+
// “n”nin değerinin girilmesi
11+
n = input.nextInt();
12+
13+
// n!’i hesaplayan döngünün oluşturulması
14+
// “i=1” olduğunda sonucu etkilemeyeceği için “i=2”den başlıyoruz
15+
for (i = 2; i <= n; i++)
16+
17+
// “f” değerini i sayacının değerleriyle çarpacak işlem
18+
f = f * i;
19+
20+
// “f”nin değerinin yazdırılması
21+
System.out.println("n!=" + f);
22+
input.close();
23+
}
24+
}

9-Faktöriyel/README.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Bir Sayının Faktöriyelini Hesaplamak
2+
3+
## ❓ Soru
4+
Verilen bir sayının faktöriyelini hesaplayan algoritmayı yazınız.
5+
6+
## ⛓ Program Kısımları
7+
1. `n` sayısının değerini girmek.
8+
2. Bir döngü kullanarak `n!` değerini hesaplamak.
9+
3. `n!` değerini yazdırmak
10+
11+
## 👓 Çözüm Yöntemi
12+
- `n! = 1*2*3 …. (n-2)*(n-1)*n` veya `n! = n*(n-1)*(n-2) … 2*1` olduğu bellidir.
13+
- `f` diye bir değişken tanımlayabiliriz, başlangıç değeri 1 olsun, ve onu 2,3 …. `n`ye kadar sayılarıyla çarpabiliriz, bunu yapmak için `i` sayacı tanımlanır 2’den `n`ye kadar değer alır (`i`nin her arttığında `x`le çarpılacak şekilde).
14+
15+
## 👩‍🔧 Çözüm Adımları
16+
1. `i`, `f`, `n` tanımlanması.
17+
2. `n`nin değerinin girilmesi.
18+
3. `n!`i hesaplayan döngünün oluşturulması.
19+
4. `f`nin değerinin yazdırılması.
20+
21+
## 🤖 Kod
22+
<details>
23+
<summary>Tıkla</summary>
24+
25+
26+
```java
27+
import java.util.*;
28+
public class Faktoryel {
29+
public static void main(String arg[]) {
30+
Scanner input = new Scanner(System.in);
31+
int i, n, f = 1; // 1. adım
32+
System.out.print("n=");
33+
n = input.nextInt(); // 2. adım
34+
for (i = 2; i <= n; i++) // 3. adım, I. nota bak
35+
f = f * i; // II. nota bak
36+
System.out.println("n!=" + f); // 4. adım
37+
input.close();
38+
}
39+
}
40+
```
41+
</details>
42+
43+
44+
## 🎉 Ekran Çıktısı
45+
46+
```
47+
n=5
48+
n!=120
49+
```
50+
51+
## 💡 Notlar
52+
1. `i=1` olduğunda sonucu etkilemeyeceği için `i=2`den başlıyoruz.
53+
2. `f` değerini `i` sayacının değerleriyle çarpacak işlem.

res/SeriFormulu.png

6.19 KB
Loading

0 commit comments

Comments
 (0)