GET "LIBHDR"
GLOBAL $(
COUNT: 200
ALL: 201
$)
LET TRY(LD, ROW, RD) BE
TEST ROW = ALL THEN
COUNT := COUNT + 1
ELSE $(
LET POSS = ALL & ~(LD | ROW | RD)
UNTIL POSS = 0 DO $(
LET P = POSS & -POSS
POSS := POSS - P
TRY(LD + P << 1, ROW + P, RD + P >> 1)
$)
$)
LET START() = VALOF $(
ALL := 1
FOR I = 1 TO 12 DO $(
COUNT := 0
TRY(0, 0, 0)
WRITEF("%I2-QUEENS PROBLEM HAS %I5 SOLUTIONS*N", I, COUNT)
ALL := 2 * ALL + 1
$)
RESULTIS 0
$)
main( ) {
auto c;
while (1) {
while ( (c=getchar()) != ' ')
if (putchar(c) == '*n') exit();
putchar( '*n' );
while ( (c=getchar()) == ' '); /* skip blanks */
if (putchar(c)=='*n') exit(); /* done when newline */
}
}
/* Exemple de C classique */
/* Compiler par gcc -traditional -Wall kr.c -o kr */
position(string,c)
char *string;
char c;
{
char *p=string;
while(*p!=c && *p!='\0') p++;
if(*p!='\0') return p-string; else return -1;
}
main()
{
char *string="hello, world";
printf("w is at %d\n",position(string,'w'));
printf("A is at %d\n",position(string,'A'));
}