public static void Main()
for (int currentPage = 1; currentPage <= totalPages; currentPage++)
Console.Write($"-> {currentPage} [{GetFirstPage(currentPage, totalPages)}] ~ [{GetLastPage(1, totalPages)}], total: {totalPages}\n");
public static int GetLastPage(int currentPage, int totalPages)
return (currentPage + 2 < totalPages ? Math.Max(currentPage, Math.Min(totalPages, 5)) : totalPages);
public static int GetFirstPage(int currentPage, int totalPages)
return (currentPage - 2 < 1 ? Math.Min(currentPage, 1) : currentPage - 2);