diff --git a/exercises/practice/eliuds-eggs/.meta/example.f90 b/exercises/practice/eliuds-eggs/.meta/example.f90 index d53cf72..9fb21b8 100644 --- a/exercises/practice/eliuds-eggs/.meta/example.f90 +++ b/exercises/practice/eliuds-eggs/.meta/example.f90 @@ -4,11 +4,24 @@ module eliuds_eggs contains -! Just a cheat implementation at this stage, for validation +! A cheat implementation, for quick CI validation integer function eggCount(number) integer :: number eggCount = popcnt(number) end function +! Doing it "properly" + ! integer function eggCount(number) + ! integer :: number, remaining + + ! eggCount = 0 + ! remaining = number + ! do while (remaining > 0) + ! eggCount = eggCount + iand(remaining, 1) + ! remaining = shiftr(remaining, 1) + ! end do + + ! end function + end module