Một số được gọi là cân bằng nếu tần suất xuất hiện của mọi chữ số trong nó đều bằng nhau.
Ví dụ: 562256 → các chữ số 5,6,2 đều xuất hiện 2 lần → True.
Giải thuật
- Chuyển số thành chuỗi.
- Đếm tần suất mỗi chữ số.
- Tạo tập hợp từ các giá trị tần suất. Nếu tập hợp chỉ có 1 phần tử →
True.
Mã ví dụ
from collections import defaultdict
def solve(num):
number = str(num)
freq = defaultdict(int)
for i in range(len(number)):
freq[int(number[i])] += 1
freq_values = set(freq.values())
if len(freq_values) == 1:
return True
return False
num = 562256
print(solve(num))
Đầu vào
562256
Đầu ra
True