Starting with a path to some directory, determine whether the directory is empty.
An empty directory contains no files nor subdirectories. With Unix or Windows systems, every directory contains an entry for “.” and almost every directory contains “..” (except for a root directory); an empty directory contains no other entries.
#include <bitset> #include <stdio.h> #define SIZE 80 #define RULE 30 #define RULE_TEST(x) (RULE & 1 << (7 & (x))) void evolve(std::bitset<SIZE> &s) { int i; std::bitset<SIZE> t(0); t[SIZE-1] = RULE_TEST( s[0] << 2 | s[SIZE-1] << 1 | s[SIZE-2] ); t[ 0] = RULE_TEST( s[1] << 2 | s[ 0] << 1 | s[SIZE-1] ); for (i = 1; i < SIZE-1; i++) t[i] = RULE_TEST( s[i+1] << 2 | s[i] << 1 | s[i-1] ); for (i = 0; i < SIZE; i++) s[i] = t[i]; } void show(std::bitset<SIZE> s) { int i; for (i = SIZE; i--; ) printf("%c", s[i] ? '#' : ' '); printf("|\n"); } unsigned char byte(std::bitset<SIZE> &s) { unsigned char b = 0; int i; for (i=8; i--; ) { b |= s[0] << i; evolve(s); } return b; } int main() { int i; std::bitset<SIZE> state(1); for (i=10; i--; ) printf("%u%c", byte(state), i ? ' ' : '\n'); return 0; }
Content is available under GNU Free Documentation License 1.2.





