Add Hamming Distance, Probability and Protein problems
This commit is contained in:
parent
49127ae4ef
commit
e94ff2985c
3 changed files with 139 additions and 0 deletions
21
09_hamm/hamm.nim
Normal file
21
09_hamm/hamm.nim
Normal file
|
@ -0,0 +1,21 @@
|
|||
import os
|
||||
import std/sequtils
|
||||
import std/streams
|
||||
|
||||
template useStream(stream: Stream, body: untyped) =
|
||||
if not isNil(stream):
|
||||
try:
|
||||
body
|
||||
finally:
|
||||
stream.close()
|
||||
|
||||
proc hammingDist(s1, s2: string): int =
|
||||
doAssert s1.len == s2.len
|
||||
zip(s1, s2).countIt(it[0] != it[1])
|
||||
|
||||
let fileName = paramStr(1)
|
||||
let fileStream = newFileStream(fileName)
|
||||
useStream(fileStream):
|
||||
let s1 = readLine(fileStream)
|
||||
let s2 = readLine(fileStream)
|
||||
echo $hammingDist(s1, s2)
|
Loading…
Add table
Add a link
Reference in a new issue