در این برنامه، عددی از کاربر دریافت میشود و بررسی میشود که آیا مربع کامل است یا نه.
مبنای بررسی این است که اگر مجموع چند عدد فرد پشت سر هم از ۱، برابر با عدد ورودی شود، آن عدد مربع کامل است.
مثالها:
- √9 = 1 + 3 + 5
- √16 = 1 + 3 + 5 + 7
- √4 = 1 + 3
def is_perfect_square_by_odd_sum(n):
total = 0
odd = 1
while total < n:
total += odd
odd += 2
return total == n
# اجرای برنامه
num = int(input("عدد را وارد کنید: "))
if is_perfect_square_by_odd_sum(num):
print(f"{num} یک مربع کامل است.")
else:
print(f"{num} مربع کامل نیست.")
عدد را وارد کنید: 16
16 یک مربع کامل است.
عدد را وارد کنید: 20
20 مربع کامل نیست.
- از عدد فرد ۱ شروع میکنیم و بهصورت پشت سر هم جمع میکنیم
- اگر مجموع دقیقاً برابر با عدد ورودی شود، آن عدد مربع کامل است
- اگر مجموع از عدد ورودی عبور کند، عدد مربع کامل نیست