כיצד לבדוק את מספרי ארמסטרונג ב-Java?

Kyzd Lbdwq T Mspry Rmstrwng B Java



ה ' מספר ארמסטרונג ' מספק תובנות לגבי תבניות מספרים ותכונות מתמטיות. זה עוזר בהבנת מושגי תורת המספרים ובחקירת יחסים של הפניה עצמית בתוך מספרים. בנוסף, זה עוזר בהבטחת הדיוק של הנתונים או קלט המשתמש. זה יכול להיות שימושי כאשר שלמות הקלט היא חיונית.

בלוג זה עוזר למצוא את מספר ארמסטרונג עבור הנתונים שסופקו.







כיצד לבדוק מספרי ארמסטרונג ב-Java?

ה ' מספר ארמסטרונג ' מסומן כדי לזהות מספרים המקיימים תכונה מתמטית ספציפית. אם הערך שסופק זהה לתוספת המספרים השלמים שלו עצמו, המועלים בחזקת הספירה הכוללת של המספרים השלמים של הערך שסופק.



כעת, הבה נבקר בכמה דוגמאות להבנה נוספת:



דוגמה 1: זיהוי מספרי ארמסטרונג





בקר בתוכנית כדי לבדוק אם המספר שסופק הוא מספר ארמסטרונג או לא:

ייבוא ​​java.util.Scanner;
// ייבוא ​​כלי עזר נדרשים.
כיתה ציבורית ArmstrongChecker {
ריק סטטי ציבורי ראשי ( חוּט [ ] args )
// מכריז על העיקרי ( ) שיטה
{
Scanner demoTest = סורק חדש ( System.in ) ;
מערכת.out.print ( 'הזן מספר לבדיקה:' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
int ספרות = 0 ;
בזמן ( מספר מקורי ! = 0 ) {
מספר מקורי / = 10 ;
ספרות++;
}

int סְכוּם = 0 ;
int temp = numEle;
ל ( int i = 0 ; אני < ספרות; i++ ) {
int אתה = טמפ' % 10 ;
סְכוּם += Math.pow ( אתה , ספרות ) ;
טמפ' / = 10 ;
}

אם ( סְכוּם == שמות ) {
System.out.println ( שמות + 'זה מספר ארמסטרונג.' ) ;
} אַחֵר {
System.out.println ( שמות + 'לא עומד בתנאי למספר ארמסטרונג.' ) ;
}
}
}


תיאור הקוד לעיל:



    • ראשית, האובייקט עבור ' סוֹרֵק ' מחלקה נוצרת כדי לאחזר מספר שלם ממשתמש הקצה באמצעות ' nextInt() ' שיטת ואחסן את הנתונים שאוחזרו במשתנה בשם ' שמות '.
    • לאחר מכן, ערך מאוחזר זה מוקצה למשתנה מסוג int בשם ' מספר מקורי ' ומאתחל משתנה בשם ' ספרות ' עם ' 0 '.
    • אז ה ' בזמן נעשה שימוש בלולאה המחלקת שוב ושוב את origNum ב-10 ומגדילה את משתנה הספרות בכל פעם עד ש-origNum הופך ל-0.
    • לאחר מכן, הכריז על משתנה ' סְכוּם ' והגדר את הערך של ' שמות ' אל ה ' טמפ' 'משתנה. ומנצל את ' ל ' לולאה שחוזרת עד ל' ספרות ' ערך משתנה.
    • ובכל איטרציה של לולאה 'עבור', הספרה האחרונה של ' טמפ' 'חולץ באמצעות אופרטור המודולוס ומאוחסן במשתנה חדש ' אתה '. לאחר מכן, הקובייה של הספרה מתווספת ל' סְכוּם ' משתנה באמצעות שיטת Math.pow() .
    • בסופו של דבר, ה' אחרת הצהרת ' משמשת כדי לקבוע אם הסכום המחושב שווה למספר המקורי שסופק על ידי המשתמש. אם שני הערכים שווים, אז המספר שסופק הוא מספר ארמסטרונג ולהיפך.

לאחר הקומפילציה:


הפלט מראה שהמספר שסופק הוא מספר ארמסטרונג.

דוגמה 2: מצא את כל מספרי ארמסטרונג המתגוררים בתוך המגבלה שסופקה

כדי למצוא את כל המספרים של ארמסטרונג לערך או להגבלה שסופקו, בקר בקוד שלהלן:

ייבוא ​​java.util.Scanner;
ייבוא ​​java.lang.Math;

כיתה ציבורית ArmstsrongNumberExample
{
בוליאני סטטי הואArmsNum ( int j ) {
אינט buff, singDig = 0 , סוֹף = 0 , חישוב = 0 ;
לְהַברִיק =j;
בזמן ( לְהַברִיק > 0 ) {
buff = buff / 10 ;
singDig++;
}
buff = j;
בזמן ( לְהַברִיק > 0 )
{
סוף = buff % 10 ;
calc += ( Math.pow ( סוף, singDig ) ) ;
buff = buff / 10 ;
}
אם ( י ==חשבון )
לַחֲזוֹר נָכוֹן ;
אַחֵר לַחֲזוֹר שֶׁקֶר ;
}
ריק סטטי ציבורי ראשי ( מחרוזת ארגומנטים [ ] )
// מכריז על העיקרי ( ) שיטה
{
int proNum;
סוֹרֵק sc = סורק חדש ( System.in ) ;
מערכת.out.print ( 'הכנס את הגבול העליון:' ) ;
proNum =sc.nextInt ( ) ;
System.out.println ( 'מספר ארמסטרונג עד לגבול שסופק' + proNum + 'הם:' ) ;
ל ( int ק = 0 ; ק < =forNum; k++ )
אם ( isArmsNum ( ק ) )
מערכת.out.print ( k+ ',' ) ;
}
}


הסבר על הקוד לעיל:

    • ראשית, הכריז על משתנים מרובים 'buff', 'singDig', 'end' ו-'calc' בעלי סוג של ' int ', בתוך שיטת הסוג הבוליאני בשם ' isArmsNum() '. הוא מקבל פרמטר שמוקצה למשתנה בשם ' לְהַברִיק '.
    • לאחר מכן, ה' בזמן ' לולאה מוצהרת אשר חוזרת עד שערך ה-buff מגיע ל' 0 '. לאחר מכן, ה' לְהַברִיק ' הוא מודולוס לפי ' 10 ' כדי להסיר את הספרה האחרונה מהערך שסופק ולהגדיל את ' singDig 'משתנה.
    • אז ה ' בזמן ' לולאה מנוצלת שוב על ' לְהַברִיק ' משתנה כדי לחלץ את הספרה האחרונה. הקובייה של הספרה מחושבת על ידי שימוש ב' מתמטיקה. pow() שיטת ' ולאחר מכן הוספה ל' חישוב 'משתנה.
    • עכשיו ה ' אם הצהרת ' משמשת כדי לבדוק אם הערך המחושב ב' חישוב ' המשתנה שווה לערך שסופק על ידי משתמש הקצה או לא. כמו כן, הצג את ההודעה בהתאם.
    • לאחר מכן, הקלט ממשתמש הקצה מאוחזר בעזרת ' סוֹרֵק כלי השירות ב- רָאשִׁי() ' שיטה.
    • בסופו של דבר, ה' ל נעשה שימוש בלולאה החוזרת עד לערך שסופק, וכל איטרציה נקראת ' isArmsNum() ' שיטה. שיטה זו מקבלת את כל הערכים עד שמגיעים לערך המסופק ובודקת כל ערך עבור מספר ארמסטרונג.

לאחר הקומפילציה:


הפלט מציג את כל המספרים של ארמסטרונג עד לערך המסופק שהוא ' 370 ' במקרה הזה.

סיכום

כדי למצוא מספר ארמסטרונג, ראשית, ספרו את הספרות שהמספר שסופק מכיל. לאחר מכן, חלץ כל ספרה מהמספר שסופק בזה אחר זה בעזרת פעולות מודולוס וחלוקה. לאחר מכן, העלו כל מספר שלם של הערך בחזקת המספר הכולל של המספרים השלמים והוסיפו את הערך המתקבל למשתנה חדש. לבסוף, בדוק אם ערך המשתנה המתקבל שווה למספר שסופק, אם הוא שווה אז המספר שסופק הוא מספר ארמסטרונג, אחרת לא.