🔹 تشخیص عدد زوج یا فرد بدون استفاده از تقسیم، باقیمانده و شرط if
در برنامهنویسی معمولاً برای تشخیص فرد یا زوج بودن یک عدد، از عملگر باقیمانده (%
) و شرط if
استفاده میشود. اما قصد داریم راهی هوشمندانه و متفاوت را بدون استفاده از این ابزارها بررسی کنیم.
🧠 ایده اصلی
اعداد زوج و فرد در یک توالی مشخص یکیدرمیان تکرار میشوند:
عدد صفر زوج است، عدد یک فرد است، عدد دو دوباره زوج است و ...
با دانستن این الگو میتوان از ساختارهای دادهای مانند آرایه بهره گرفت تا بدون شرط و تقسیم، نوع عدد (زوج یا فرد بودن) را تعیین کنیم.
🛠️ روش اجرا با استفاده از آرایه
فرض کنید عددی صحیح داریم و تنها میخواهیم با استفاده از آرایه تشخیص دهیم که این عدد زوج است یا فرد.
در این روش، از یک آرایه دو عضوی استفاده میکنیم. یکی از خانهها پیام «عدد زوج است» را نگه میدارد و دیگری «عدد فرد است».
برای انتخاب عنصر مناسب از آرایه، تنها کافی است از بیت کمارزش (Least Significant Bit) عدد استفاده کنیم. در زبانهای سطح پایین، بیت صفرم نشاندهنده زوج یا فرد بودن عدد است:
* اگر بیت صفرم ۰ باشد، عدد زوج است.
* اگر بیت صفرم ۱ باشد، عدد فرد است.
در زبانهایی مانند جاوا، میتوان از عملگر AND بیتی استفاده کرد:
public class Main {
public static void main(String[] args) {
String[] type = {"The number is even.", "The number is odd."};
int number = 37;
System.out.println(type[number & 1]);
}
}
🔍 توضیح کد
در این مثال:
* آرایه
type
دارای دو مقدار است:* ایندکس ۰: پیام عدد زوج است
* ایندکس ۱: پیام عدد فرد است
* عملگر
& 1
فقط بیت آخر عدد را جدا میکند:* اگر عدد زوج باشد، بیت آخر ۰ است → اندیس ۰ انتخاب میشود
* اگر عدد فرد باشد، بیت آخر ۱ است → اندیس ۱ انتخاب میشود
* بدون هیچ شرطی، پیام درست چاپ میشود.
🧪 مثالهای اجرا
عدد 14 →
14 & 1
برابر ۰ → نتیجه: عدد زوج استعدد 51 →
51 & 1
برابر ۱ → نتیجه: عدد فرد است📌 جمعبندی
با استفاده از بیت ها و آرایه، میتوان بدون استفاده از عملگر باقیمانده و شرطهای منطقی، زوج یا فرد بودن عدد را تشخیص داد. این روش در موقعیتهایی که محدودیت در استفاده از دستورات خاص وجود دارد، بسیار مفید است.
#کاربر_مبتدی
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره مقدماتی جاوا
دوره شاهکار پیشرفته جاوا
دوره طلایی Spring Core
دوره فریمورک Spring Boot
دوره پروژه محور Spring Boot-سیستم دانشگاه
دوره دژبان Spring Security
دوره جامع نخبگان میکروسرویس با Java و Spring Boot
#جاوا #java #مثال_جاوا #برنامه_نویسی #جاواپرو
🆔 @javapro_ir
🆔 @group_javapro
>>Click here to continue<<