summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--2021/day03.pl17
1 files changed, 17 insertions, 0 deletions
diff --git a/2021/day03.pl b/2021/day03.pl
new file mode 100644
index 0000000..8a62021
--- /dev/null
+++ b/2021/day03.pl
@@ -0,0 +1,17 @@
+use strict;
+use warnings;
+my @nums;
+while (<>) {
+	chomp;
+	push @nums, oct("0b".$_);
+}
+my $gamma = 0;
+for (my $i = 0; $i < 12; $i++) {
+	my $ones = 0;
+	foreach (@nums) {
+		$ones++ if $_ & (1 << $i);
+	}
+	$gamma |= 1 << $i if $ones > @nums / 2;
+}
+my $epsilon = ~$gamma & 0xFFF;
+print $gamma * $epsilon, "\n";
itle='2015-08-13 17:05:12 +0200'>2015-08-13Makefile: make "git/config.mak.uname" inclusion optionalJohn Keeping 2015-08-13ui-shared: show full date in tooltip if longer ago than max_relativeJohn Keeping 2015-08-13ui-shared: use common function in print_rel_date()John Keeping 2015-08-13ui-shared: extract date formatting to a functionJohn Keeping 2015-08-13filter: don't use dlsym unnecessarilyJohn Keeping 2015-08-13ui-tree: use "sane" isgraph()John Keeping 2015-08-13cgit.h: move stdbool.h from ui-shared.hJohn Keeping 2015-08-13cache.c: fix header orderJohn Keeping 2015-08-13configfile.c: don't include system headers directlyJohn Keeping 2015-08-13Remove redundant includesJohn Keeping 2015-08-13Makefile: include Git's config.mak.unameJohn Keeping 2015-08-13tests: allow shell to be overriddenJohn Keeping 2015-08-13redirect: cleanlinessJason A. Donenfeld 2015-08-13redirect: be more careful for different cgi setupsJason A. Donenfeld 2015-08-12ui-log: fix double countingJohn Keeping 2015-08-12log: allow users to follow a fileJohn Keeping 2015-08-12shared: make cgit_diff_tree_cb publicJohn Keeping 2015-08-12t0110: Chain together using &&Jason A. Donenfeld 2015-08-12about: always ensure page has a trailing slashJason A. Donenfeld 2015-08-12filters: apply HTML escapingLazaros Koromilas 2015-08-12git: update to v2.5.0Christian Hesse 2015-08-12Fix processing of repo.hide and repo.ignoreDaniel Reichelt