قرآن در کامپیوتر

دانلود نرم افزار های قرآنی یه صورت رایگان

قرآن در کامپیوتر

دانلود نرم افزار های قرآنی یه صورت رایگان

هشت وزیر

آیا می توانید در یک صفحه ی شطرنج هشت وزیر بگنجانید که نتوانند همدیگر را بگیرند
این برنامه تمام حالات را چک می کند و تمام حالات ممکن را چاپ می کند
DIM a(1 TO 8) AS INTEGER
CLS
arzesh = 0

PRINT "vazir"


FOR a = 1 TO 8
   a(1) = a
 
 
   FOR b = 1 TO 8
     a(2) = b
                           FOR i = 1 TO 1
                           
                              FOR j = 1 TO 2
                                 IF i = j THEN j = j + 1
                                 arzesh = (ABS(i - j) = ABS(a(i) - a(j))) OR (a(i) = a(j))
                                 IF arzesh = -1 THEN EXIT FOR
                              NEXT j
                              IF arzesh = -1 THEN EXIT FOR
                          NEXT i
    
      FOR c = 1 TO 8

                          IF arzesh <> 0 THEN
                          arzesh = 0
                         EXIT FOR

                          END IF

         a(3) = c
                           FOR i = 1 TO 2
                          
                              FOR j = 1 TO 3
                                 IF i = j THEN j = j + 1
                                 arzesh = (ABS(i - j) = ABS(a(i) - a(j))) OR (a(i) = a(j))
                                 IF arzesh = -1 THEN EXIT FOR
                              NEXT j
                              IF arzesh = -1 THEN EXIT FOR
                          NEXT i
         FOR d = 1 TO 8
                          IF arzesh <> 0 THEN
                          arzesh = 0
                         EXIT FOR

                          END IF
          
            a(4) = d

                           FOR i = 1 TO 3
                         
                              FOR j = 1 TO 4
                                 IF i = j THEN j = j + 1
                                 arzesh = (ABS(i - j) = ABS(a(i) - a(j))) OR (a(i) = a(j))
                                 IF arzesh = -1 THEN EXIT FOR
                              NEXT j
                              IF arzesh = -1 THEN EXIT FOR
                          NEXT i

            FOR e = 1 TO 8

                          IF arzesh <> 0 THEN
                          arzesh = 0
                         EXIT FOR

                          END IF
               a(5) = e
                         
                           FOR i = 1 TO 4
                         
                              FOR j = 1 TO 5
                                 IF i = j THEN j = j + 1
                                 arzesh = (ABS(i - j) = ABS(a(i) - a(j))) OR (a(i) = a(j))
                                 IF arzesh = -1 THEN EXIT FOR
                              NEXT j
                              IF arzesh = -1 THEN EXIT FOR
                          NEXT i
             
               FOR f = 1 TO 8
                
                          IF arzesh <> 0 THEN
                          arzesh = 0
                         EXIT FOR

                          END IF
                  a(6) = f
                           FOR i = 1 TO 5
                         
                              FOR j = 1 TO 6
                                 IF i = j THEN j = j + 1
                                 arzesh = (ABS(i - j) = ABS(a(i) - a(j))) OR (a(i) = a(j))
                                 IF arzesh = -1 THEN EXIT FOR
                              NEXT j
                              IF arzesh = -1 THEN EXIT FOR
                          NEXT i
                  FOR g = 1 TO 8
                     a(7) = g
                          IF arzesh <> 0 THEN
                          arzesh = 0
                         EXIT FOR

                          END IF
                   
                           FOR i = 1 TO 6
                         
                              FOR j = 1 TO 7
                                 IF i = j THEN j = j + 1
                                 arzesh = (ABS(i - j) = ABS(a(i) - a(j))) OR (a(i) = a(j))
                                 IF arzesh = -1 THEN EXIT FOR
                              NEXT j
                              IF arzesh = -1 THEN EXIT FOR
                          NEXT i
                   
                   
                     FOR h = 1 TO 8
                          IF arzesh <> 0 THEN
                          arzesh = 0
                         EXIT FOR

                          END IF
                         
                           a(8) = h
                         
                            'FOR s = 1 TO 8
                           ' PRINT a(s);
                            'NEXT
                           ' PRINT
                         
                           FOR i = 1 TO 7
                            
                              FOR j = 1 TO 8
                                 IF i = j THEN j = j + 1

                                 IF j = 9 THEN EXIT FOR
                                 arzesh = (ABS(i - j) = ABS(a(i) - a(j))) OR (a(i) = a(j))
                               
                                 IF arzesh = -1 THEN EXIT FOR
                              NEXT j
                            
                              IF arzesh = -1 THEN EXIT FOR
                          NEXT i
                          IF arzesh = 0 THEN
                                            x = x + 1
                                            PRINT
                                            PRINT
                                            PRINT
                                            PRINT x,
                          FOR v = 1 TO 8
                                PRINT a(v);
                          NEXT
                         
                         mnb$ = INPUT$(1)
                          ELSE
                        
                          arzesh = 0
                         END IF

 NEXT h
 NEXT g
 NEXT f
 NEXT e
 NEXT d
 NEXT c
 NEXT b
 NEXT a
END

 

 

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد