Armstrong Number
Armstrong number क्या है
Armstrong number (3 अंकों को) अपने ही digits के cubes के जोड़ के बराबर होता है। Classic उदाहरण 153 है: 1³ + 5³ + 3³ = 1 + 125 + 27 = 153। एक जाँचना digits निकालने और loop इस्तेमाल करने का बढ़िया अभ्यास है।
Digits निकालना
int num = 153;
while (num > 0) {
int digit = num % 10; // आख़िरी digit
System.out.println(digit);
num = num / 10; // आख़िरी digit हटाओ
}
5
1
Trick % 10 आख़िरी digit पाता है और / 10 उसे हटाता है। दोहराना दाएँ से बाएँ digits छीलता है जब तक number 0 न हो।
Java program
public class Armstrong {
public static void main(String[] args) {
int num = 153;
int original = num; // copy रखो
int sum = 0;
while (num > 0) {
int d = num % 10;
sum += d * d * d; // हर digit cube करो
num = num / 10;
}
if (sum == original)
System.out.println(original + " is Armstrong");
else
System.out.println(original + " is not Armstrong");
}
}
हम original save करते हैं, फिर loop: हर digit लो, उसका cube sum में जोड़ो, और digit हटाओ। अंत में हम sum की मूल number से तुलना करते हैं।
Dry run
| Step | temp | d = temp%10 | sum += d*d*d | temp /= 10 |
|---|---|---|---|---|
| 1 | 153 | 3 | 0 + 27 = 27 | 15 |
| 2 | 15 | 5 | 27 + 125 = 152 | 1 |
| 3 | 1 | 1 | 152 + 1 = 153 | 0 |
| 4 | 0 | temp==0 ruk gaya. sum(153) == num(153) → Armstrong! | ||
हर बारी %10 से आख़िरी digit छीलती है, उसे cube करके sum में डालती है, फिर /10 से हटाती है। जब cubes का जोड़ मूल number के बराबर हो, यह Armstrong है।
किसी भी अंक संख्या को
सच्चा Armstrong number हर digit को अंकों की संख्या की power तक उठाता है, हमेशा 3 नहीं। 4-अंक number को, आप 4th power इस्तेमाल करते हैं। तो पहले digits गिनिए, फिर हर digit को उस power तक उठाइए। ऊपर वाला 3-अंक version cubes इस्तेमाल करता है क्योंकि इसके 3 digits हैं।
आम गलतियाँ
- Original save न करना। Loop number को 0 कर देता है — तुलना को copy रखिए।
- गलत power। n digits को, हर digit को n-th power तक उठाइए, हमेशा 3 नहीं।
- % और / बदलना।
% 10digit पाता है;/ 10हटाता है। - गलत loop condition। सारे digits process करने को
num > 0तक loop कीजिए।
सारांश
- Armstrong number अपने digits के अंक-संख्या power तक उठाए जोड़ के बराबर होता है।
- 3 अंकों को, यह cubes का जोड़ है (153 = 1³+5³+3³)।
- Digits
% 10से पाइए और/ 10से हटाइए। - अंत में तुलना को मूल number save कीजिए।
- तय करने को sum की मूल से तुलना कीजिए।
आगे, digit काम अभ्यास कीजिए palindrome number program में, या loops Java loops में।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
Armstrong number क्या है?
Number के digits कैसे निकालूँ?
digit = num % 10, फिर उसे हटाने को num = num / 10 इस्तेमाल कीजिए। loop में दोहराइए जब तक num 0 न हो। यह दाएँ से बाएँ digits छीलता है।