32 lines
753 B
Plaintext
32 lines
753 B
Plaintext
NSUInteger local fn Damm( string as CFStringRef )
|
|
mda(0,0) = {{0,3,1,7,5,9,8,6,4,2},
|
|
{7,0,9,2,1,5,4,8,6,3},{4,2,0,6,8,7,1,3,5,9},
|
|
{1,7,5,0,9,8,3,4,2,6},{6,1,2,3,0,4,5,9,7,8},
|
|
{3,6,7,4,2,0,9,5,8,1},{5,8,6,9,7,2,0,1,3,4},
|
|
{8,9,4,5,3,6,2,0,1,7},{9,4,3,8,6,1,7,2,0,5},
|
|
{2,5,8,1,4,3,6,7,9,0}}
|
|
|
|
NSUInteger i, colI, oldRowI = 0, newRowI
|
|
for i = 0 to len(string) - 1
|
|
colI = intval(string[i])
|
|
newRowI = mda(oldRowI,colI)
|
|
oldRowI = newRowI
|
|
next
|
|
end fn = newRowI
|
|
|
|
void local fn DoIt
|
|
CFArrayRef dta = @[@"5724",@"5727",@"112946",@"112949"]
|
|
for CFStringRef string in dta
|
|
print string;
|
|
if ( fn Damm( string ) == 0 )
|
|
print @" is valid"
|
|
else
|
|
print @" is invalid"
|
|
end if
|
|
next
|
|
end fn
|
|
|
|
fn DoIt
|
|
|
|
HandleEvents
|