Diğer döngüleri de kullanabilirsin. Ben while kullanmayı tercih ettim. Sorun neden döngü kullanıldığı ise:
Döngü tüm sayıları sıra sıra deniyor, hangi sayılar tam bölüyor diye. Senin girdiğin sayıya kadar olan sayıların hepsini denemeden de sayının mükemmel olup olmadığına karar vermiyor. Hepsini denedikten sonra karar veriyor.
Yazdığın kodu tam anlamadım ama koda göre "sayi" değerini 5 ve altında girersen bir tepki alabilirsin. 5 ve üstünde bir sayı girdiğin durumunda tepki vermemesi normal.
"bolunecekSayi" buraya gelene kadar 3 oluyor. "bolunecekSayi" değerinin "sayi" / 2 değerinden büyük olması için "sayi" değerinin en fazla 5 olması gerekiyor yoksa bu if komudu atlanır ve kod biter. Dolayısıyla if'in içindeki if de çalışmaz else de.
Yazdığın kodu tam anlamadım ama koda göre "sayi" değerini 5 ve altında girersen bir tepki alabilirsin. 5 ve üstünde bir sayı girdiğin durumunda tepki vermemesi normal.
"bolunecekSayi" buraya gelene kadar 3 oluyor. "bolunecekSayi" değerinin "sayi" / 2 değerinden büyük olması için "sayi" değerinin en fazla 5 olması gerekiyor yoksa bu if komudu atlanır ve kod biter. Dolayısıyla if'in içindeki if de çalışmaz else de.
public int Sayi;
int x = 1;
int sayilarinToplami;
void Start()
{
while(x < Sayi){
if(Sayi%x == 0){
sayilarinToplami = sayilarinToplami+x;
}
x++;
}
if(sayilarinToplami == Sayi){
Debug.Log(Sayi + " bir mükemmel sayıdır.");
}
else{
Debug.Log(Sayi + " bir mükemmel sayı değildir");
}
}
Bilgisayar başında olmadan yazdığım için küçük hatalar olabilir. Bu arada projeyi çalıştırmadan bu scripti attığın objenin componentlerinden girmen gerekiyor sayıyı.
Kodda girilen sayıya kadar olan sayıları deneyerek , girdiğin sayının bölenlerini buluyor. Bunları toplayarak girdiğin sayıya eşit olup olmadığını kontrol ediyor.
Diğer döngüleri de kullanabilirsin. Ben while kullanmayı tercih ettim. Sorun neden döngü kullanıldığı ise:
Döngü tüm sayıları sıra sıra deniyor, hangi sayılar tam bölüyor diye. Senin girdiğin sayıya kadar olan sayıların hepsini denemeden de sayının mükemmel olup olmadığına karar vermiyor. Hepsini denedikten sonra karar veriyor.
Diğer döngüleri de kullanabilirsin. Ben while kullanmayı tercih ettim. Sorun neden döngü kullanıldığı ise:
Döngü tüm sayıları sıra sıra deniyor, hangi sayılar tam bölüyor diye. Senin girdiğin sayıya kadar olan sayıların hepsini denemeden de sayının mükemmel olup olmadığına karar vermiyor. Hepsini denedikten sonra karar veriyor.