عدد آرمسترانگ (Check Armstrong Num)
می خواهیم تشخیص دهیم عدد «آرمسترانگ» است یا نه. «عدد آرمسترانگ» یعنی جمع توان رقم ها برابر خود عدد شود. «متغیر (Variable)» یعنی جعبه ذخیره. «حلقه (Loop)» یعنی تکرار چندباره. مثال مدرسه: مثل اینکه هر رقم را جدا کنی و توان بگیری.
بررسی عدد آرمسترانگ با جاوا
تعداد رقم ها را می گیریم، هر رقم را به همان توان می رسانیم، سپس جمع می کنیم.
int num = 153;
int original = num;
int result = 0;
int digits = String.valueOf(num).length();
while (num != 0) {
int digit = num % 10;
result += Math.pow(digit, digits);
num /= 10;
}
System.out.println(original + (result == original ? " is Armstrong" : " is not Armstrong"));
توضیح ساده: برای 153 که سه رقمی است، 1³، 5³ و 3³ را جمع می کنیم. چون 1 + 125 + 27 برابر 153 است، این عدد آرمسترانگ است.
گام های عملی
- کد را اجرا کن و خروجی را ببین.
- num را 154 بگذار و دوباره تست کن.
- digits را چاپ کن تا منطق را درک کنی.
نکته: اگر عدد منفی بود، اول قدرمطلق بگیر تا بررسی درست شود.
هشدار: حواست باشد num در حلقه کم شود؛گرنه حلقه بی نهایت می شود.
برای تمرین مرتبط، صفحه جمع ارقام را ببین. همچنین برعکس کردن عدد هم مفید است. اگر لازم داشتی، لینک عدد آرمسترانگ را ذخیره کن.
جمع بندی سریع
- توان هر رقم برابر تعداد رقم هاست.
- جمع توان ها با خود عدد مقایسه می شود.
- % 10 رقم آخر را جدا می کند.
- /= 10 رقم آخر را حذف می کند.
- عدد آرمسترانگ خاص و کم یاب است.