From ed523135db1f4782d9b0062ff2936337e2f09d66 Mon Sep 17 00:00:00 2001 From: subcrip Date: Wed, 10 Apr 2024 13:58:58 +0800 Subject: [PATCH] Add number/odds.cc --- number/odds.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 number/odds.cc diff --git a/number/odds.cc b/number/odds.cc new file mode 100644 index 0000000..782f5d3 --- /dev/null +++ b/number/odds.cc @@ -0,0 +1,10 @@ +auto odds = [] (ll a, ll b) -> ll { + if (a % 2 == 0) a += 1; + if (b % 2 == 0) b -= 1; + if (a > b) return 0; + ll odd_sum = ((b + 1) / 2) * ((b + 1) / 2) - ((a - 1) / 2) * ((a - 1) / 2); + return odd_sum; +}; +auto oddcount = [] (ll a, ll b) -> ll { + return (b - a) / 2 + (a & 1 | b & 1); +};