Skip to content

Commit 56445a3

Browse files
committed
Birkaç soru eklendi ve yapı düzenlendi 👷‍♀️
1 parent fe963b0 commit 56445a3

File tree

6 files changed

+196
-0
lines changed

6 files changed

+196
-0
lines changed
File renamed without changes.
File renamed without changes.

B-AsalSayılar/Asal.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
public class Asal {
2+
public static void main(String arg[]) {
3+
4+
// “i”, “x”, “j”nin tanımlanması.
5+
int i, x, j;
6+
7+
// 11’den 99’a kadar döngünün oluşturulması.
8+
for (i = 11; i < 100; i++)
9+
{
10+
11+
// “x” ile “j”ye başlangıç değerinin atanması
12+
x = 2;
13+
j = 0;
14+
15+
// “x” ile “i/2+1” eşit olmadığı sürece:
16+
// “x” değeri hiçbir zaman (i/2+1) değeri ile “i”yi bölemez.
17+
// Bu yüzden bu değerin (i/2+1) üstünü kontrol etmeye gerek yoktur
18+
while (x != i / 2 + 1)
19+
{
20+
// “x”in “i”nin bir böleni olup olmadığının kontrol edilmesi
21+
if (i % x == 0)
22+
{
23+
j = 1;
24+
25+
// En az bir bölen bulunursa sayının asal olmadığını öğrenmek için yeterlidir
26+
break;
27+
} else x++;
28+
}
29+
if (j == 0)
30+
// Asal sayıların ekrana yazdırılması
31+
System.out.println(i);
32+
}
33+
}
34+
}

B-AsalSayılar/README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Asal Sayılar
2+
3+
## ❓ Soru
4+
10 ile 200 arasındaki tamsayılardan asal sayı olanları bulan algoritmayı yazınız.
5+
6+
## ⛓ Program Kısımları
7+
1. 10 ile 200 arasındaki sayıları kontrol ederek asal olanları bulmak.
8+
2. Asal olanları ekrana yazdırmak.
9+
10+
11+
## 👓 Çözüm Yöntemi
12+
- Asal sayı: Yalnız bir ve kendisi ile bölünebilen birden büyük doğal sayıdır.
13+
- Bir `i` sayısı asal olup olmadığını tespit etmek için `x=2`den `x=i-1`e kadar artan bir sayaç oluştururuz. `x` sayının bir böleni olup olmadığını kontrol ederiz.
14+
15+
## 👩‍🔧 Çözüm Adımları
16+
1. `i`, `x`, “j”nin tanımlanması.
17+
2. 11’den 99’a kadar döngünün oluşturulması.
18+
- `x` ile `j`ye başlangıç değerinin atanması
19+
- `x` ile `i/2+1` eşit olmadığı sürece:
20+
- `x`in `i`nin bir böleni olup olmadığının kontrol edilmesi.
21+
- Asal sayıların ekrana yazdırılması.
22+
23+
## 🤖 Kod
24+
<details>
25+
<summary>Tıkla</summary>
26+
27+
28+
```java
29+
public class Asal {
30+
public static void main(String arg[]) {
31+
int i, x, j; // 1. adım
32+
for (i = 11; i < 100; i++) // 2. adım
33+
{
34+
x = 2;
35+
j = 0; // 2. adım (a)
36+
while (x != i / 2 + 1) // 2. adım (b) II. nota bak
37+
{
38+
if (i % x == 0) // 2. adım (b)(-)
39+
{
40+
j = 1;
41+
break; // I. nota bak
42+
} else x++;
43+
}
44+
if (j == 0)
45+
System.out.println(i); // 2. adım (c)
46+
}
47+
}
48+
}
49+
```
50+
</details>
51+
52+
53+
## 🎉 Ekran Çıktısı
54+
55+
```
56+
11 13 17 19 23
57+
29 31 37 41 43
58+
47 53 59 61 67
59+
71 73 79 83 89
60+
97
61+
```
62+
63+
## 💡 Notlar
64+
1. En az bir bölen bulunursa sayının asal olmadığını öğrenmek için yeterlidir. O yüzden sonraki değerleri kontrol etmeden döngüden çıkılır.
65+
2. `x` değeri hiçbir zaman `(i/2+1)` değeri ile `i`yi bölemez. Bu yüzden bu değerin `(i/2+1)` üstünü kontrol etmeye gerek yoktur. Örnek: `i= 10` için `10/2+1` değeri hiçbir zaman 10’u tam bölemez. Diğer sayıları da buna kıyas edebiliriz.

C-TamKareSayılar/README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Tam Kare Sayılar
2+
3+
## ❓ Soru
4+
Girilen bir tamsayının tam kare olup olmadığını bulan algoritmayı yazınız.
5+
6+
## ⛓ Program Kısımları
7+
1. Sayı girmek.
8+
2. Tam kare olup olmadığını tespit etmek.
9+
3. Sonucu ekrana yazdırmak.
10+
11+
12+
## 👓 Çözüm Yöntemi
13+
- Bir `x` sayısı tam kare olması için `(x=i*i)` koşulunu sağlayan bir `i` bulunması lazım.
14+
- `i`yi bulmak için 0 ile `(x/2+1)` arasındaki sayıları kontrol ederiz.
15+
16+
## 👩‍🔧 Çözüm Adımları
17+
1. Değişkenlerin tanımlanması.
18+
2. `x`in girilmesi.
19+
3. `(x/2+1)` kere dönen döngünün oluşturulması.
20+
a- Koşulun kontrol edilmesi.
21+
4. Sonucun yazdırılması.
22+
23+
## 🤖 Kod
24+
<details>
25+
<summary>Tıkla</summary>
26+
27+
28+
```java
29+
import java.util.*;
30+
public class ondorduncu_Program {
31+
public static void main(String arg[]) {
32+
Scanner input = new Scanner(System.in);
33+
int i, x, t = 0; // 1. adım
34+
x = input.nextInt(); // 2. adım
35+
for (i = 0; i <= x / 2 + 1; i++) // 3. adım
36+
{
37+
if (x == i * i) // 3. adım (a)
38+
{
39+
t = 1;
40+
break; // I. nota bak
41+
}
42+
}
43+
if (t != 0) // II. nota bak
44+
System.out.println("tam kare"); // 4. adım
45+
else
46+
System.out.println("tam kare degil");
47+
input.close();
48+
}
49+
}
50+
```
51+
</details>
52+
53+
54+
## 🎉 Ekran Çıktısı
55+
56+
```
57+
81
58+
tam kare
59+
27
60+
tam kare degil
61+
```
62+
63+
## 💡 Notlar
64+
1. Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız.
65+
2. Koşulun sağlanıp sağlanmadığını kontrol etmek için `t`yi kullandık, çünkü koşul sağlandığında `t` değişecek.

C-TamKareSayılar/TamKare.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import java.util.*;
2+
public class TamKare {
3+
public static void main(String arg[]) {
4+
Scanner input = new Scanner(System.in);
5+
6+
// Değişkenlerin tanımlanması
7+
int i, x, t = 0;
8+
9+
// “x”in girilmesi
10+
x = input.nextInt();
11+
12+
// (X/2+1) kere dönen döngünün oluşturulması
13+
for (i = 0; i <= x / 2 + 1; i++)
14+
{
15+
// Koşulun kontrol edilmesi.
16+
if (x == i * i) // 3. adım (a)
17+
{
18+
t = 1;
19+
// Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız.
20+
break;
21+
}
22+
}
23+
24+
// Koşulun sağlanıp sağlanmadığını kontrol etmek için “t”yi kullandık, çünkü koşul sağlandığında “t” değişecek
25+
// Sonucun yazdırılması
26+
if (t != 0)
27+
System.out.println("tam kare");
28+
else
29+
System.out.println("tam kare degil");
30+
input.close();
31+
}
32+
}

0 commit comments

Comments
 (0)