راه
۷ کیو· سادهمبتدیPYTHON۴ ثانیه · ۲۵۶ مگابایت

شمردنِ سخت

برنامه‌ای بنویسید که تعداد بیت‌های 1 را در نمایش دودویی یک عدد صحیح ورودی، محاسبه و چاپ کند. به عبارت دیگر، به شما یک عدد داده می‌شود و شما باید معادل باینری آن را پیدا کرده و سپس تعداد رقم‌های 1 موجود در آن نمایش باینری را بشمارید.


  • کد یک خطی: راه‌حل شما باید فقط در یک خط کد پایتون نوشته شود.
  • عدم استفاده از ; و exec: استفاده از سمی‌کالن (;) برای جدا کردن دستورات در یک خط و تابع exec مجاز نیست.

یافتن یک راه‌حل پایتونیک و مختصر. به جای استفاده از حلقه‌های for و while، به دنبال راه‌های کوتاه‌تر و خواناتر باشید.


📥 ورودی

برنامه‌ی شما باید یک عدد صحیح n را از تنها خط ورودی دریافت کند.

📤 خروجی

برنامه‌ی شما باید تعداد بیت‌های 1 موجود در نمایش دودویی عدد ورودی را محاسبه کرده و در تنها خط خروجی چاپ کند.


🎯 نمونه

ورودی ۱

text
3

خروجی ۱

text
2

نمایش دودویی عدد ۳، 11 است که شامل ۲ بیت 1 می‌باشد.

ورودی ۲

text
14

خروجی ۲

text
3

نمایش دودویی عدد ۱۴، 1110 است که شامل ۳ بیت 1 می‌باشد.


💡 راهنمایی

روش‌های مختلف برای حل

  • روش ۱: استفاده از bin() و count()
  • روش ۲: استفاده از format() و count()
  • روش ۳: استفاده از int.bit_count() (پایتون ۳.۸+)
python
# روش ۱: استفاده از bin() و count()
print(bin(int(input())).count("1"))

# روش ۲: استفاده از format() و count()
print(format(int(input()), "b").count("1"))

# روش ۳: استفاده از bit_count() (پایتون ۳.۸+)
print(int(input()).bit_count())
  • bin(n) → عدد را به رشته‌ی دودویی با پیشوند "0b" تبدیل می‌کند.
  • format(n, "b") → عدد را به رشته‌ی دودویی بدون پیشوند تبدیل می‌کند.
  • str.count("1") → تعداد کاراکترهای "1" را در رشته می‌شمارد.
  • int.bit_count() → تعداد بیت‌های 1 را مستقیماً محاسبه می‌کند (سریع‌ترین روش).
  • روش ۱ و ۲: باید از input() و print() در یک خط استفاده کنید.
  • روش ۳: int.bit_count() از پایتون ۳.۸ به بعد در دسترس است.
  • تمام روش‌های بالا یک خطی هستند و از ; و exec استفاده نمی‌کنند.

✅ این تمرین را در ویرایشگر خود پیاده‌سازی کنید. به یاد داشته باشید که کد شما باید یک خطی باشد!

نمونه‌ها

ورودی نمونه ۱
3
خروجی نمونه ۱
2
ورودی نمونه ۲
14
خروجی نمونه ۲
3

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود