Skip to content

Java Soru Çözümleri 10 – Math.Pow Uygulamaları

Herkese merhaba.

Uzun bir aradan sonra yine birlikteyiz. Bugün math.pow metoduyla alakalı bir soru çözelim istedim. Böylece metodu daha rahat kullanabiliriz. 

Math.pow metodunu, üslü sayıları hesaplamak istediğimizde kullanabiliriz. Yani;

 

 

 

NOT: Math. pow metodu genellikle double özellikte sonuçlar üretmek ister. Bu yüzden double sonuç beklemelisiniz. Örneğin;

 

 

 

 

 

Eğer sayıyı double olarak tanımlamasaydık hata verecekti. Sonucumuz:

Şimdi bizim sorumuza geçelim.

 

public class problem {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int a,b,c,d; 
        
        System.out.println("Problemi Sağlayan Sayı:");
        for(int i=1000;i<10000;i++){
            
            a=i/1000; //binler basamağı
            b=i/100-10*a; //yüzler basamağı
            c=i/10-100*a-10*b; //onlar basamağı
            d=i-(a*1000+100*b+10*c); //birler basamağını bulduk.
            
            if(i==Math.pow(a, a)+Math.pow(b,b)+Math.pow(c, c)+Math.pow(d, d)){
            System.out.println(i);
            }
            
        }
    
            
        
    }

}

 

 

 

  • İlk olarak sayının basamak değerlerini tanımlıyoruz. 

           int a, b, c, d;

  • Daha sonra for döngüsü ile bu sayı aralıklarında bulunan tüm sayıları inceleme fırsatı buluyoruz.

          for ( int i=1000; i<10000; i++)

  • Basamak değerlerini bulmak için gerekli kodları oluşturuyoruz. 

          Binler basamağı için;                                                                                                                                     a = i / 1000;

         Yüzler basamağı için;                                                                                                                                    b = i / 100 – 10 * a

         Onlar basamağı için;                                                                                                                                      c = i / 10 – 100 * a – 10 * b

         Birler basamağı için;

         d = i – ( a * 1000 + b * 100 + c * 10 )

 

  • Bir sonraki adımda if kullanarak problemimizdeki koşulu sağlayıp, sağlamayan sorularımızı belirleyeceğiz.


if (i == Math. pow( a, a ) + Math. pow( b, b ) + Math. pow( c, c ) + Math. pow( d, d ))      

 

  • Son olarak da koşulu sağlayan sayıyı konsola yazdırıyoruz. 

           System. out. println ( i )

 

          Bu şekilde tamamlamış olduk programımızı. Çıktımız:

 

 

 

 

Bir soruyu daha geride bıraktık. Bir sonraki sorumuza görüşmek üzere… İyi çalışmalar 🙂

1 Comment »

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: