From 1edd26243bde242f0de78c947c94cf3d73e6070b Mon Sep 17 00:00:00 2001 From: Andreas Grois Date: Thu, 4 Dec 2025 00:13:00 +0100 Subject: Day2 --- day2/invids.TXT | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 day2/invids.TXT (limited to 'day2/invids.TXT') diff --git a/day2/invids.TXT b/day2/invids.TXT new file mode 100644 index 0000000..4661847 --- /dev/null +++ b/day2/invids.TXT @@ -0,0 +1,53 @@ +\START92\ +\COMMENT=Single file dated Wed Dec 3 21:00:18 20 +\NAME=invids +\FILE=day2.invids.92f +(str) +Func +Local start,end,dims,dime,startn,endn,starte,ende,startne,endne,i,t,result + +inString(str,"-")\->\i +left(str,i-1)\->\start +right(str,dim(str)-i)\->\end + +0\->\result +dim(start)\->\dims +dim(end)\->\dime +\(C)\ any uneven character id is valid +If mod(dims,2)=1 Then + string(10^(floor(log(expr(start))+1)))\->\start + dim(start)\->\dims +EndIf +If mod(dime,2)=1 Then + string(10^(floor(log(expr(end))))-1)\->\end + dim(end)\->\dime +EndIf + + +If dims=dime and mod(dims,2)=1 Then + Return 0 +EndIf + +left(start,dims/2)\->\startn +left(end,dime/2)\->\endn +expr(startn)\->\startne +expr(endn)\->\endne +expr(start)\->\starte +expr(end)\->\ende + +\(C)\ skip if end < last invalid +If expr(end)\t + expr(t&t)\->\t + If t\>=\starte and t\<=\ende Then + result+t\->\result + EndIf +EndFor +Return result +EndFunc + +\STOP92\ -- cgit v1.2.3