add day 25

solved by claude
This commit is contained in:
timeshifter
2026-07-05 19:52:19 +02:00
parent 3c790ebcbf
commit 93792aeca9
3 changed files with 40 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "day25"
version = "0.1.0"
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "day25"
version = "0.1.0"
edition = "2024"
[dependencies]
+27
View File
@@ -0,0 +1,27 @@
fn main() {
let row: u64 = 3010;
let col: u64 = 3019;
let d = row + col - 1;
let index = d * (d - 1) / 2 + col; // 1-indexed position, (1,1) -> 1
const START: u64 = 20151125;
const MUL: u64 = 252533;
const MOD: u64 = 33554393;
let code = (START * mod_pow(MUL, index - 1, MOD)) % MOD;
println!("{}", code);
}
fn mod_pow(mut base: u64, mut exp: u64, modulus: u64) -> u64 {
let mut result = 1u64;
base %= modulus;
while exp > 0 {
if exp & 1 == 1 {
result = result * base % modulus;
}
exp >>= 1;
base = base * base % modulus;
}
result
}