150 najlepszych wywiadówŁatwe

Szczęśliwy numer

Szczegółowy przewodnik i implementacja Python dla problemu „Szczęśliwej liczby”.

Oświadczenie o problemie

Łatwe

Napisz algorytm sprawdzający, czy liczba n jest szczęśliwa.

Szczęśliwa liczba to liczba definiowana w następujący sposób:

- Zaczynając od dowolnej dodatniej liczby całkowitej, zastąp liczbę sumą kwadratów jej cyfr.

- Powtarzaj proces, aż liczba będzie równa 1 (gdzie pozostanie), lub będzie się powtarzać w nieskończoność w cyklu, który nie zawiera 1.

- Te liczby, dla których proces ten kończy się na 1, są szczęśliwe.

Zwróć wartość true, jeśli n jest liczbą szczęśliwą, lub false, jeśli nie.

Zaimplementuj funkcję isHappy(n: int) -> bool.

Ograniczenia
  • 1 <= n <= 2^31 - 1

Przykłady

Example 1
Input
19
Output
True
Explanation

1^2 + 9^2 = 82. 8^2 + 2^2 = 68. 6^2 + 8^2 = 100. 1^2 + 0^2 + 0^2 = 1. Since we reached 1, 19 is a happy number.

Example 2
Input
2
Output
False
Explanation

2 -> 4 -> 16 -> 37 -> 58 -> 89 -> 145 -> 42 -> 20 -> 4 -> ... This loops forever without reaching 1.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla matematyki i geometrii, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Otwórz w Edytorze
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.