حل تمرین کامل بودن یا نبودن کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات مبانی برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین کامل بودن یا نبودن کوئرا با پایتون
برنامهای بنویسید که عددی مانند n را از کاربر دریافت کند و در صورتی که خاصیت «کامل» بودن را داشت، yes و در غیر این صورت no را چاپ کند. یک عدد صحیح و مثبت مثل n «کامل» است اگر و تنها اگر مجموع مقسوم علیههای n (غیر از خود n) برابر با n شود.
ورودی
در یک خط عدد n به شما داده میشود.
![]()
خروجی
چنانچه عدد کامل بود yes در غیر این صورت no چاپ کنید.
مثال
ورودی نمونه 1
27
خروجی نمونه 1
NO
مقسوم علیههای 27 که از آن کوچکتر است؛ ، و 9 هستند که مجموع آنها:
![]()
است. پس 27 کامل نیست.
ورودی نمونه 2
6
خروجی نمونه 2
YES
مقسومعلیههای 6 که از آن کوچکتر است؛ 1، 2 و 3 هستند و مجموع آنها:
6 = 3 + 2 + 1
است. پس 6 کامل است.
کد پایتون سوال تمرین کامل بودن یا نبودن
n = int(input())
if n >= 2 and n <= 200000:
divisors_sum = sum(i for i in range(1, n) if n % i == 0)
if divisors_sum == n:
print("YES")
else:
print("NO")
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.



















من اولش اشتباه کردم چون خود عدد رو هم تو جمع حساب کرده بودم 😂
خوشحالیم این نوشته برای شما مفید است. موفق باشید.
این سوال بیشتر تمرکز روی دقت و جمع کردن اعداد داره تا الگوریتم پیچیده
بله روی این موضوع تمرکز بیشتری دارد.
من سر همین سوال بود که تازه فهمیدم فرق عدد کامل و عدد دوستانه چیه
خوشحالیم این نوشته برای شما مفید است. موفق باشید.
من اول فکر کردم باید فرمول پیچیدهای استفاده کنم ولی با حلقه هم راحت جواب میده
خوشحالیم این نوشته برای شما مفید است. موفق باشید.
خیلی جالب بود
خوشحالیم این نوشته برای شما مفید است. موفق باشید.