Palindrome Number
Palindrome number क्या है
Palindrome number आगे और पीछे से एक जैसा पढ़ा जाता है — जैसे 121, 1331 या 7। जाँचने को, हम गणित से number reverse करके मूल से तुलना करते हैं। मेल खाएँ तो यह palindrome है। यह classic loop-और-digit अभ्यास है।
Number reverse करना
हम number को loop में तीन steps से reverse करते हैं:
digit = num % 10— आख़िरी digit पाओ।rev = rev * 10 + digit— reversed number बनाओ।num = num / 10— आख़िरी digit हटाओ।
दोहराइए जब तक num 0 न हो, और rev reversed number रखता है।
Java program
public class Palindrome {
public static void main(String[] args) {
int num = 121;
int original = num; // copy रखो
int rev = 0;
while (num > 0) {
int digit = num % 10;
rev = rev * 10 + digit;
num = num / 10;
}
if (rev == original)
System.out.println(original + " is a palindrome");
else
System.out.println(original + " is not a palindrome");
}
}
हम original save करते हैं, number को rev में reverse करते हैं, फिर तुलना करते हैं। चूँकि 121 उल्टा 121 है, वे मेल खाते हैं और यह palindrome है।
Dry run
| Step | temp | temp%10 | rev = rev*10 + digit | temp /= 10 |
|---|---|---|---|---|
| 1 | 121 | 1 | 0*10+1 = 1 | 12 |
| 2 | 12 | 2 | 1*10+2 = 12 | 1 |
| 3 | 1 | 1 | 12*10+1 = 121 | 0 |
| 4 | 0 | ruk gaya. rev(121) == num(121) → Palindrome! | ||
हर बारी आख़िरी digit छीलती है और rev*10 + digit से rev बनाती है। जब number 0 हो जाए, अगर reversed value मूल के बराबर हो, यह palindrome है।
एक string विकल्प
int num = 121; String s = String.valueOf(num); String r = new StringBuilder(s).reverse().toString(); System.out.println(s.equals(r) ? "Palindrome" : "Not");
आप number को string बनाकर उसके reverse से भी तुलना कर सकते हैं। गणित तरीका strings बचाता है, पर यह छोटा और उतना ही मान्य है।
आम गलतियाँ
- Original save न करना। Loop number को 0 कर देता है — तुलना को copy रखिए।
- गलत reverse formula।
rev * 10 + digitइस्तेमाल कीजिए,rev + digitनहीं। - % और / बदलना।
% 10digit पाता है;/ 10हटाता है। - Negative numbers। Negatives को आमतौर पर sign के कारण palindrome नहीं माना जाता।
सारांश
- Palindrome number दोनों तरफ़ से एक जैसा पढ़ा जाता है (121, 1331)।
- Number को
% 10,rev*10 + digit, और/ 10से reverse कीजिए। - अंत में तुलना को मूल save कीजिए।
- अगर reverse मूल के बराबर हो, यह palindrome है।
- String reverse-और-तुलना एक आसान विकल्प है।
आगे, text reverse कीजिए reverse a string में, या digits अभ्यास कीजिए Armstrong number program में।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
Palindrome number क्या है?
Java में number कैसे reverse करूँ?
% 10 से लीजिए, reversed number rev = rev * 10 + digit से बनाइए, और आख़िरी digit / 10 से हटाइए, जब तक number 0 न हो।हम मूल number की copy क्यों रखते हैं?
rev = rev * 10 + digit क्या करता है?
rev को 10 से गुणा उसके digits बाएँ shift करता है, और नया digit जोड़ना उसे ones जगह पर रखता है, reversed number बढ़ाकर।क्या strings इस्तेमाल करके palindrome number जाँच सकता हूँ?
str.equals(new StringBuilder(str).reverse().toString())। गणित तरीका strings बचाता है, पर दोनों चलते हैं।