Created
July 2, 2015 01:57
-
-
Save molcay/8982239f5d0a4ce2a7d1 to your computer and use it in GitHub Desktop.
N Queen Problem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class NQueen { | |
public static int[] olustur(int N) { | |
int kalan = N % 12; | |
System.out.println(kalan); | |
int[] yeniDizi = new int[N]; | |
int indeks = 0;//yeni dizinin indeks ine pointer olacak. | |
int baslangic = (kalan != 3 && kalan != 9) ? 2 : 4; | |
for (int i = baslangic; i <= N; i += 2) { | |
yeniDizi[indeks++] = i; | |
} | |
if (!(kalan != 3 && kalan != 9)) { | |
yeniDizi[indeks++] = 2; | |
} | |
//ilk 3 madde burda bitti. | |
if (kalan != 8 && kalan != 2) { | |
baslangic = (kalan != 3 && kalan != 9) ? 1 : 5; | |
for (int i = baslangic; i <= N; i += 2) { | |
yeniDizi[indeks++] = i; | |
} | |
if (!(kalan != 3 && kalan != 9)) { | |
yeniDizi[indeks++] = 1; | |
yeniDizi[indeks++] = 3; | |
} | |
}//6. madde burda bitti. | |
else if (kalan == 8) { | |
baslangic = 1; | |
for (int i = baslangic; i <= N; i += 4) { | |
yeniDizi[indeks++] = i + 2; | |
yeniDizi[indeks++] = i; | |
} | |
}//4.madde burda bitti. | |
else { | |
yeniDizi[indeks++] = 3; | |
yeniDizi[indeks++] = 1; | |
yeniDizi[(yeniDizi.length - 1)] = 5; | |
baslangic = 7; | |
for (int i = baslangic; i <= N; i += 2) { | |
yeniDizi[indeks++] = i; | |
} | |
}//5.madde burda bitti. | |
// ilk 6 madde burda bitti. Liste hazır. | |
return yeniDizi; | |
} | |
public static void yazdir(int[] dizi) { | |
String [] harfler = {"A", "B", "C", "D", "E", "F", "G", "H"}; | |
for (int i = 0; i < dizi.length; i++) { | |
System.out.print(harfler[i] + dizi[i] + " "); | |
} | |
} | |
public static void main(String[] args) { | |
int N = 8; | |
/* | |
for (int a : olustur(N)) { | |
System.out.print(a); | |
System.out.print(" - "); | |
} | |
System.out.println();*/ | |
yazdir(olustur(N)); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment