diff --git a/PerfectNumbers.Core/DivisorCycleCache.cs b/PerfectNumbers.Core/DivisorCycleCache.cs index 4ca014d..bcacd5c 100644 --- a/PerfectNumbers.Core/DivisorCycleCache.cs +++ b/PerfectNumbers.Core/DivisorCycleCache.cs @@ -80,11 +80,13 @@ public sealed class DivisorCycleCache if (divisor < (ulong)snapshot.Length) { ulong cached = snapshot[divisor]; - if (cached != 0UL) + if (cached == 0UL) { - cycles[i] = cached; - continue; + throw new InvalidDataException($"Divisor cycle is missing for {divisor}"); } + + cycles[i] = cached; + continue; } missingBuffer[missingCount++] = i;