Páginas de un libro

Supón que sumas todos los números de página de un libro. Si el total es 21, el libro puede tener 6 páginas porque 1 + 2 + 3 + 4 + 5 + 6 = 21. Un total de 25 es imposible porque el siguiente total es 28 (21 + 7).

Dado total, devuelve true si puede ser igual a la suma 1 + 2 + ... + n para alguna cantidad entera de páginas, y devuelve false en caso contrario.

¿Puedes idear una solución más eficiente que sumar números enteros consecutivos uno a la vez?

Ejemplos

Program.PagesInBook(5) // false

Program.PagesInBook(4005) // true

Program.PagesInBook(9453) // true