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 🙂

Posted by:neslihansezer

One thought on “Java Soru Çözümleri 10 – Math.Pow Uygulamaları

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