Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,28 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
char trans[] = "___#_##_";
|
||||
|
||||
#define v(i) (cell[i] != '_')
|
||||
int evolve(char cell[], char backup[], int len)
|
||||
{
|
||||
int i, diff = 0;
|
||||
|
||||
for (i = 0; i < len; i++) {
|
||||
/* use left, self, right as binary number bits for table index */
|
||||
backup[i] = trans[ v(i-1) * 4 + v(i) * 2 + v(i + 1) ];
|
||||
diff += (backup[i] != cell[i]);
|
||||
}
|
||||
|
||||
strcpy(cell, backup);
|
||||
return diff;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
char c[] = "_###_##_#_#_#_#__#__\n",
|
||||
b[] = "____________________\n";
|
||||
|
||||
do { printf(c + 1); } while (evolve(c + 1, b + 1, sizeof(c) - 3));
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
#include <stdio.h>
|
||||
|
||||
char trans[] = "___#_##_";
|
||||
|
||||
int evolve(char c[], int len)
|
||||
{
|
||||
int i, diff = 0;
|
||||
# define v(i) ((c[i] & 15) == 1)
|
||||
# define each for (i = 0; i < len; i++)
|
||||
|
||||
each c[i] = (c[i] == '#');
|
||||
each c[i] |= (trans[(v(i-1)*4 + v(i)*2 + v(i+1))] == '#') << 4;
|
||||
each diff += (c[i] & 0xf) ^ (c[i] >> 4);
|
||||
each c[i] = (c[i] >> 4) ? '#' : '_';
|
||||
|
||||
# undef each
|
||||
# undef v
|
||||
return diff;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
char c[] = "_###_##_#_#_#_#__#__\n";
|
||||
|
||||
do { printf(c + 1); } while (evolve(c + 1, sizeof(c) - 3));
|
||||
return 0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue