Odpowiedź
Do odpowiedzi kolegi dorzuciłam drobną poprawkę i program ilustrujący działanie.
Wyjaśnienia
- Kolega bardzo ładnie i zwięźle napisał funkcję. Dla ilustracji pokazałam w komentarzu na dole jak funkcja wyglądałaby w postaci rozpisanej.
- Zostało napisane pod .NET 5.0, czyli pod obecną wersję. Działa pod dotnetfiddle (należy użyć opcji .NET 5.0), onlinegdb, replit (Mono) oraz Visual Studio.