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')); }