Web sitemize hoşgeldiniz, 18 Aralık 2017

Java 8 Vezir Algoritması

Java 8 Vezir Algoritması
Lütfen, Yazımızı Değerlendirin ve Yorum Yapın...
1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (5 votes, average: 4,80 out of 5)
Loading...
En çok teknoloji ve bilim ağırlıklı makalelerin yer aldığı, bilgi hocası sitesinde aradığınız bilgiye ulaşarak faydalanabilirsiniz.

Java 8 Vezir algoritması oldukça güzel bir algoritma sorularından biridir. Peki nedir bu 8 vezir algoritması? Bu bir oyun algoritmasıdır. Burada satranç tahtası üzerine 8 tane vezir konulması isteniyor. Fakat öyle ki bu 8 vezir öyle konulmalı ki birbirini yemesin. İşte bunun planlandığı bu algoritmayı bugün sizler için hazırladık.

Sponsor Reklam

Java 8 Vezir

package javaapplication26;
public class vezir {
     int[] x;
     public vezir(int N) {
         x = new int[N];
     }
     public boolean canPlaceQueen(int r, int c) {
    for (int i = 0; i < r; i++) {
      if (x[i] == c || (i - r) == (x[i] - c) ||(i - r) == (c - x[i]))
             { 
                 return false;
             }
        }
         return true;
     }

     public void printQueens(int[] x) {
         int N = x.length;
         for (int i = 0; i < N; i++) {
             for (int j = 0; j < N; j++) {
                 if (x[i] == j) {
                     System.out.print("Q ");
                 } else {
                     System.out.print("* ");
                 }
             }
             System.out.println();
         }
         System.out.println();
     }
     public void placeNqueens(int r, int n) {
         for (int c = 0; c < n; c++) {
             if (canPlaceQueen(r, c)) {
                 x[r] = c;
                 if (r == n - 1) {
                     printQueens(x);
                 } 
                 else 
                 {
                     placeNqueens(r + 1, n);
                 }
             }
         }
     }
     public void callplaceNqueens() {
         placeNqueens(0, x.length);
     }
/* @author Bilgi Hocası
   @param args
 */
public static void main(String args[]) {
         vezir Q = new vezir(8);
         Q.callplaceNqueens();
     }
 }

Bir önceki yazımız olan Java'da Asal Sayı Olup Olmadığını Bulma Hesaplama Kodu başlıklı makalemizi de okumanızı öneririz.

BU KONUYU SOSYAL MEDYA HESAPLARINDA PAYLAŞ

Yorumlar

Henüz yorum yapılmamış.

Yorum Yaz