Odpowiedź :
Odpowiedź
Kod źródłowy dałam w pierwszym załączniku, a wynik uruchomienia w drugim.
Nie podałeś jakiego używasz środowiska (programu) do C#, więc napisałam pod Visual Studio. Jeślibyś chciał aby program działał również pod dotnetfiddle, ideone, jdoodle, onlinegdb oraz replit, to sprawdziłam, że musisz wiersz 14. zamienić na
Dictionary<uint, uint[]> kandydatki = new Dictionary<uint, uint[]>();
Wyjaśnienie
Zamiast wiersza 15 można napisać
uint limit = 1290;
A co robi wiersz 15? Wylicza jakie największe liczby można podnieść do sześcianu i dodać do siebie. Czyli rozwiązałam równanie
limit³ + limit³ = uint.MaxValue
gdzie uint.MaxValue jest największą liczbą, która w C# może być zapisana w uint ( UInt32 ). Math.Cbrt() to funkcja obliczająca pierwiastek sześcienny.
Możesz też popatrzeć na inny program, który napisałam brainly.pl/zadanie/21389709
W sumie nawet nie napisałeś jakie struktury danych już przerabialiście więc wybrałam to co jest najwygodniejsze do wykonania zadania.