Sha256: d8924003c15e65150ffb784f3579a5b6f9eff465d0abae056903b7aee9e9069e

Contents?: true

Size: 746 Bytes

Versions: 392

Compression:

Stored size: 746 Bytes

Contents

nucleotide_count(Strand, Counts) :-
    atom_chars(Strand, Nucleotides),
    count_nucleotides(Nucleotides, [('A', 0), ('C', 0), ('G', 0), ('T', 0)], Counts).

count_nucleotides([], Counts, Counts).
count_nucleotides([Nucleotide | Rest], Running, Counts) :-
    count_single_nucleotide(Nucleotide, Running, NewCounts),
    count_nucleotides(Rest, NewCounts, Counts).

count_single_nucleotide(Nucleotide, [(OtherNucleotide, OtherCount) | Rest], NewCounts) :-
    count_single_nucleotide(Nucleotide, Rest, RestCounts),
    append([(OtherNucleotide, OtherCount)], RestCounts, NewCounts).
count_single_nucleotide(Nucleotide, [(Nucleotide, Count) | Rest], NewCounts) :-
    NewCount is Count + 1,
    append([(Nucleotide, NewCount)], Rest, NewCounts).

Version data entries

392 entries across 392 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.179 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.178 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.177 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.176 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.175 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.174 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.173 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.172 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.171 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.170 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.169 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.167 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.166 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.165 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.164 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.163 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.162 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.161 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example
trackler-2.2.1.160 tracks/prolog/exercises/nucleotide-count/nucleotide_count.example