برنامه تشخیص عدد توان دو – از صفر تا صد
در این مطلب، روش نوشتن برنامه تشخیص عدد توان دو بیان شده است. یک عدد صحیح مثبت داده شده است. هدف، نوشتن تابعی است که تشخیص دهد آیا این عدد، یک عدد به توان ۲ رسیده است یا خیر. مثال زیر در این راستا قابل توجه است.


Input : n = 4 Output : Yes 22 = 4 Input : n = 7 Output : No Input : n = 32 Output : Yes 25 = 32
راهکار اول برای نوشتن برنامه تشخیص عدد توان دو
یک روش ساده برای انجام این کار آن است که لوگ عدد در مبنای ۲ گرفته شود و اگر یک عدد صحیح حاصل شد، بدین معنا است که عدد به توان ۲ رسیده است.
برنامه تشخیص عدد توان ۲ در ++C
برنامه تشخیص عدد توان ۲ در C
برنامه تشخیص عدد توان ۲ در جاوا
برنامه تشخیص عدد توان دو در پایتون ۳
برنامه تشخیص عدد توان دو در #C
برنامه تشخیص عدد توان دو در PHP
خروجی قطعه کد بالا به صورت زیر است.
No Yes
راهکار دوم برای نوشتن برنامه تشخیص عدد توان دو
راهکار دیگر برای نوشتن برنامه تشخیص عدد توان، تقسیم کردن عدد به دو، به صورت مکرر است. یعنی، به صورت تکرار شونده انجام میشود. در هر تکرار، اگر n%2 (باقیمانده تقسیم عدد بر دو) عددی غیر صفر و n برابر با ۱ نباشد، n عددی به توان ۲ نیست. اگر n برابر با ۱ شود، عددی به توان ۲ است.
برنامه تشخیص عدد توان دو در ++C
برنامه تشخیص عدد توان دو در C
برنامه تشخیص عدد توان دو در جاوا
برنامه تشخیص عدد توان دو در پایتون ۳
برنامه تشخیص عدد توان دو در #C
برنامه تشخیص عدد توان دو در PHP
خروجی قطعه کد بالا به صورت زیر است.
No Yes
روشهای دیگری نیز برای حل این مساله وجود دارند. همه اعداد در توان ۲، تنها یک بیت ست هستند. بنابراین، با شمارش تعداد ست بیتها، اگر عدد ۱ حاصل شد، عدد در واقع یک عدد به توان ۲ رسیده است.
راهکار سوم برای نوشتن برنامه تشخیص عدد توان دو
در نهایت، یک روش دیگر نیز برای نوشتن برنامه تشخیص عدد توان دو در ادامه بیان شده است. اگر اعداد توان ۲ تقسیم بر ۱ شوند، همه بیتهای غیر ست پس از تنها بیت ست، ست میشوند و بیت ست شده، آنست میشود.
برای مثال، دو عدد 4 ( 100) و 16 (10000) در نظر گرفته میشود. خروجی زیر پس از کم کردن یک (۱) از عدد، حاصل میشود.
3 –> 011
15 –> 01111
بنابراین، اگر n عددی به توان ۲ است، and بیتوایز برای n و n-1، برابر با صفر خواهد بود. میتوان گفت که n توانی از ۲ است یا بر مبنای مقدار (n&(n-1 نیست. عبارت (n&(n-1 هنگامی که n برابر با صفر باشد کار میکند. برای کار با این مورد، عبارت به صورت (!(n& (n&(n-1 خواهد بود. در ادامه، پیادهسازی روش بیان شده در زبانهای برنامهنویسی گوناگون ارائه شده است.
برنامه تشخیص عدد توان دو در ++C
برنامه تشخیص عدد توان دو در C
برنامه تشخیص عدد توان دو در جاوا
برنامه تشخیص عدد توان دو در پایتون ۳
برنامه تشخیص عدد توان دو در #C
برنامه تشخیص عدد توان دو در PHP
خروجی قطعه کد بالا به صورت زیر است.
No Yes
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامه نویسی
- آموزش ساختمان دادهها
- مجموعه آموزشهای ساختمان داده و طراحی الگوریتم
- رنگآمیزی گراف به روش حریصانه — به زبان ساده
- الگوریتم دایجسترا (Dijkstra) — از صفر تا صد
- الگوریتم پریم — به زبان ساده
- برنامه تشخیص اعداد اول در پایتون — به زبان ساده
- برنامه تجزیه عدد به عوامل اول آن — به زبان ساده
^^












