Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

µÝ¹é »ØËÝ·¨Çó½â8»ÊºóÎÊÌ⣨C£©

ÎÞÒâÖз­³öÁËNÄêǰдµÄµÝ¹é-»ØËÝ·¨Çó½â8»ÊºóÎÊÌ⣬¸É´âÈûµ½²©¿ÍÖаɡ£
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define QUEENS 8
// ¼Ç¼½âµÄÐòºÅµÄÈ«¾Ö±äÁ¿¡£
int iCount = 0;
// ¼Ç¼»ÊºóÔÚ¸÷ÁÐÉϵķÅÖÃλÖõÄÈ«¾ÖÊý×é¡£
int Site[QUEENS];
// µÝ¹éÇó½âµÄº¯Êý¡£
void Queen(int n);
// Êä³öÒ»¸ö½â¡£
void Output();
// ÅжϵÚn¸ö»Êºó·ÅÉÏÈ¥Ö®ºó£¬ÊÇ·ñÓгåÍ»¡£
int IsValid(int n);
void main()
{
// ´ÓµÚ0ÁпªÊ¼µÝ¹éÊÔ̽¡£
Queen(0);
}
//Queen£ºµÝ¹é·ÅÖõÚn¸ö»Êºó¡£
void Queen(int n)
{
int i;
// ²ÎÊýn´Ó0¿ªÊ¼£¬µÈÓÚ8ʱ±ãÊÔ³öÁËÒ»¸ö½â£¬½«ËüÊä³ö²¢»ØËÝ¡£
if(n == QUEENS)
{
Output();
return;
}
// n»¹Ã»µ½8£¬ÔÚµÚnÁеĸ÷¸öÐÐÉÏÒÀ´ÎÊÔ̽¡£
for(i = 1 ; i <= QUEENS ; i++)
{
// ÔÚ¸ÃÁеĵÚiÐÐÉÏ·ÅÖûʺó¡£
Site[n] = i;
// Èç¹û·ÅÖÃûÓгåÍ»£¬¾Í¿ªÊ¼ÏÂÒ»ÁеÄÊÔ̽¡£
if(IsValid(n))
Queen(n + 1);
}
}
// IsValid£ºÅжϵÚn¸ö»Êºó·ÅÉÏÈ¥Ö®ºó£¬ÊÇ·ñºÏ·¨£¬¼´ÊÇ·ñÎÞ³åÍ»¡£
int IsValid(int n)
{
int i;
// ½«µÚn¸ö»ÊºóµÄλÖÃÒÀ´ÎÓÚÇ°Ãæn£­1¸ö»ÊºóµÄλÖñȽϡ£
for(i = 0 ; i < n ; i++)
{
// Á½¸ö»ÊºóÔÚͬһÐÐÉÏ£¬·µ»Ø0¡£
if(Site[i] == Site[n])
return 0;
// Á½¸ö»ÊºóÔÚͬһ¶Ô½ÇÏßÉÏ£¬·µ»Ø0¡£
if(abs(Site[i] - Site[n]) == (n - i))
return 0;
}
// ûÓгåÍ»£¬·µ»Ø1¡£
return 1;
}
// Output£ºÊä³öÒ»¸ö½â£¬¼´Ò»ÖÖûÓгåÍ»µÄ·ÅÖ÷½°¸¡£
void Output()
{
int i;
// Êä³öÐòºÅ¡£
printf("No.%-5d" , ++iCount);
// ÒÀ´ÎÊä³ö¸÷¸öÁÐÉϵĻʺóµÄλÖ㬼´ËùÔÚµÄÐÐÊý¡£
for(i = 0 ; i < QUEENS ; i++) {
printf("%d " , Site[i]);
}
printf("\n");
}

ÕâÒ»Ëã·¨Çó³ö92ÖÖ²¼¾Ö¡£µ«ËüÃDz¢·Ç±¾Öʽ⣬ËùÒÔÊä³öµÄ²¼¾Öµ±ÖУ¬ÓÐһЩ¾­¹ýÐýת¡¢¾µÏñµÈ±ä»»ºóÊǵȼ۵ġ£
Èç¹ûÒªÇó³ö±¾Öʽ⣨Ӧ¸ÃÖ»ÓÐ12ÖÖ£©£¬¿ÉÒÔ¿¼Âǽ«ÒѾ­Çó³öµÄ²¼¾Ö·ÅÔÚÒ»¸öÁ´±íÖУ¬È»ºóÿ´ÎµÃµ½Ò»ÖÖеIJ¼¾Öʱ£¬¶¼¸úÇ°ÃæµÄÒÀ´Î±È½Ïһϣ¬¿´¿´¾­¹ýÐýת¡¢¾µÏñºóÊÇ·ñÒ»Ö£¬Èç¹ûÒ»ÑùÔòÉáÆú¡£


Ïà¹ØÎĵµ£º

¡¾C\C++ÓïÑÔÈëÃÅÆª¡¿ λÔËËã


»Ø¹Ë֮ǰµÄƪ·ù£¬CÓïÑÔµÄÖ÷Ì岿·Ö»ù±¾ÒѾ­½éÉÜÍêÁË¡£Ö®ËùÒÔûÓнéÉÜC++µÄÏà¹ØÌØÐÔÊÇÒòΪÔÚ֮ǰµÄÎÄÕÂÖÐCºÍC++ÔÚÕâЩ·½Ãæ¶¼Óй²ÐÔ£¬ËùÒÔÔÚÃæÏò¶ÔÏó֮ǰ¡£ÎÒÃÇÏȰÑÕâЩ¹²ÐÔ¸ø½éÉÜÍê¡£Ò²¾ÍÊÇ˵ÔÚ½éÉÜÃæÏò¶ÔÏó֮ǰ£¬ËùÓеÄÎÄÕ¶¼ÊÇCC++Öж¼ÄÜʹÓõġ£´ÓÕâµãÉÏÀ´¿´£¬ÏÖÔÚÕý¼«Á¦·Ü¶·ÓÚC++Õ½ÏßÉϵijõѧÕß»¹ÊǺÜÓÐÓô¦µÄ¡£
±¾Æª¼ ......

Cº¯Êý¿â½éÉÜ: string.h¡¢mem.h

²Ù×÷º¯Êý,ËùÔÚº¯Êý¿âΪstring.h¡¢mem.h
mem…²Ù×÷´æÖüÊý×é
void *memccpy(void *destin,void *source,unsigned char ch,unsigned n)
void *memchr(void *s,char ch,unsigned n)
void *memcmp(void *s1,void *s2,unsigned n)
int   memicmp(void *s1,void *s2,unsigned n)
void *memmove(void *destin ......

ʹÓÃCÓïÑÔÀ©Õ¹Python£¨Ò»£©

¿ª·¢»·¾³£ºUbuntu9.10,python2.6,gcc4.4.11,ubuntuϵÄpythonÔËÐаüºÍ¿ª·¢°üÊÇ·Ö¿ªµÄ£¬Òò´ËÐèÒªÔÚÐÂÀûµÃÀïÃæ°²×°python-all-dev,´Ó¶ø¿ÉÒÔÔÚ´úÂëÖÐÒýÓÃpythonµÄÍ·ÎļþºÍ¿â¡£2.ÏÂÃæÊÇÒ»¸ö×î¼òµ¥µÄ¿ÉÒÔ¹©pythonµ÷ÓõÄcÀ©Õ¹Ä£¿é£¬¼ÙÉèc³ÌÐòÎļþÃûΪfoo.c:´úÂë#include <Python.h>
static PyObject* foo_b ......

C/C++λ²Ù×÷

C/C++λ²Ù×÷
Ò»¡¢´«Í³µÄC·½Ê½Î»²Ù×÷£º
1.»ù±¾²Ù×÷£º
  ʹÓÃÒ»¸öunsigned int±äÁ¿À´×÷ΪλÈÝÆ÷¡£
2.²Ù×÷·û£º
|  °´Î»»ò²Ù×÷·û£ºresult=exp1|exp2;µ±exp1ºÍexp2ÖжÔӦλÖÐÖÁÉÙÓÐÒ»¸öΪ1ʱ£¬resultÖжÔӦλΪ1£¬·ñÔòΪ0¡£
&  °´Î»Óë²Ù×÷·û£º£ºresult=exp1&exp2;µ±exp1ºÍexp2ÖжÔӦλȫΪ1ʱ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ