ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆ


ತೊಂದರೆ ಮಟ್ಟ ಸುಲಭ
ಆಗಾಗ್ಗೆ ಕೇಳಲಾಗುತ್ತದೆ ಅಡೋಬ್ ಅಮೆಜಾನ್ ಬ್ಲೂಮ್ಬರ್ಗ್ ಡಿಬಿಒಐ ಗೂಗಲ್ MAQ ಮೈಕ್ರೋಸಾಫ್ಟ್ o9 ಪರಿಹಾರಗಳು
ಮಠ

ಸಮಸ್ಯೆ ಹೇಳಿಕೆ

“ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆ” ಸಮಸ್ಯೆ ನಿಮಗೆ ಪೂರ್ಣಾಂಕ ಸಂಖ್ಯೆಯನ್ನು ನೀಡಲಾಗಿದೆ ಎಂದು ಹೇಳುತ್ತದೆ. ಇದು ಪಾಲಿಂಡ್ರೋಮ್ ಅಥವಾ ಇಲ್ಲವೇ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಕೊಟ್ಟಿರುವ ಸಂಖ್ಯೆಯನ್ನು ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪರಿವರ್ತಿಸದೆ ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಿ.

ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆ

ಉದಾಹರಣೆ

12321
true

ವಿವರಣೆ

12321 ಒಂದು ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆಯಾಗಿದೆ ಏಕೆಂದರೆ ನಾವು 12321 ಅನ್ನು ಹಿಮ್ಮುಖಗೊಳಿಸಿದಾಗ ಅದು 12321 ಅನ್ನು ನೀಡುತ್ತದೆ ಅದು ಕೊಟ್ಟಿರುವ ಸಂಖ್ಯೆಯಂತೆಯೇ ಇರುತ್ತದೆ. ಆದ್ದರಿಂದ 12321 ಒಂದು ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆ.

-12321
false

ವಿವರಣೆ

-12321 ಒಂದು ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆಯಲ್ಲ ಏಕೆಂದರೆ ನಾವು -12321 ಅನ್ನು ಹಿಮ್ಮುಖಗೊಳಿಸಿದಾಗ ಅದು 12321 ಅನ್ನು ನೀಡುತ್ತದೆ- ಅದು ಕೊಟ್ಟಿರುವ ಸಂಖ್ಯೆಗೆ ಸಮನಾಗಿರುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ -12321 ಒಂದು ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆ ಅಲ್ಲ.

ಗೆ ಅನುಸಂಧಾನ ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆ ಪರಿಶೀಲನೆ

ನಮ್ಮ ಮನಸ್ಸಿನಲ್ಲಿ ಬರುವ ಮೊದಲ ವಿಧಾನವೆಂದರೆ ಕೊಟ್ಟಿರುವ ಸಂಖ್ಯೆಯನ್ನು ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪರಿವರ್ತಿಸುವುದು ಮತ್ತು ಅದು ಪಾಲಿಂಡ್ರೋಮ್ ಅಥವಾ ಇಲ್ಲವೇ ಎಂದು ಪರಿಶೀಲಿಸುವುದು. ಆದರೆ ನಾವು ಇದನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ಈ ವಿಧಾನವನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ ಮತ್ತು ನಮಗೆ ಹೆಚ್ಚುವರಿ ಸ್ಥಳಾವಕಾಶ ಬೇಕಾಗುತ್ತದೆ ಸ್ಟ್ರಿಂಗ್.

ನಕಾರಾತ್ಮಕ ಸಂಖ್ಯೆ ಎಂದಿಗೂ ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆಯಲ್ಲ ಎಂಬ ಒಂದು ಪ್ರಮುಖ ಅಂಶವನ್ನೂ ನಾವು ಗಮನಿಸಬಹುದು.

ಆದ್ದರಿಂದ ನಾವು ಅದನ್ನು ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಸಮೀಪಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತೇವೆ. ನಾವು ಸಂಖ್ಯೆಯನ್ನು ಹಿಮ್ಮುಖಗೊಳಿಸುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತೇವೆ ಮತ್ತು ಅದು ಮೂಲ ಸಂಖ್ಯೆಗೆ ಸಮನಾಗಿದ್ದರೆ ಹೋಲಿಸುತ್ತೇವೆ. ವ್ಯತಿರಿಕ್ತ ಸಂಖ್ಯೆ ಮೂಲ ಸಂಖ್ಯೆಗೆ ಸಮನಾಗಿದ್ದರೆ ಸಂಖ್ಯೆ ಪಾಲಿಂಡ್ರೋಮ್ ಆಗಿದ್ದರೆ ಅದು ಪಾಲಿಂಡ್ರೋಮ್ ಅಲ್ಲ.

ಕೊಟ್ಟಿರುವ ಸಂಖ್ಯೆಯನ್ನು ಹಿಮ್ಮುಖಗೊಳಿಸಲು ನಾವು ನಿರ್ವಹಿಸುತ್ತೇವೆ (ಉಳಿದ = n% 10) ಇದು ಸಂಖ್ಯೆಯ ಕೊನೆಯ ಅಂಕಿಯನ್ನು ನೀಡುತ್ತದೆ. ನಾವು ವ್ಯತಿರಿಕ್ತ ಸಂಖ್ಯೆಯನ್ನು (ರಿವರ್ಸ್ಡ್ = ರಿವರ್ಸ್ಡ್ * 10 + ಉಳಿದ) ಮೂಲಕ ಉತ್ಪಾದಿಸುತ್ತೇವೆ. ಎರಡನೇ ಕೊನೆಯ ಅಂಕೆ ಪಡೆಯಲು ಈಗ ನಾವು ಸಂಖ್ಯೆಯನ್ನು 10 ರಿಂದ ಭಾಗಿಸುತ್ತೇವೆ. N ನ ಮೌಲ್ಯವು ಶೂನ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಾಗುವವರೆಗೆ ನಾವು ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತೇವೆ.

ಕೊನೆಗೆ, ಮೂಲ ಸಂಖ್ಯೆ ವ್ಯತಿರಿಕ್ತ ಸಂಖ್ಯೆಗೆ ಸಮನಾಗಿದ್ದರೆ ನಾವು ಹೋಲಿಸುತ್ತೇವೆ. ಹೌದು ಎಂದಾದರೆ ಆ ಸಂಖ್ಯೆ ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆ ಇಲ್ಲದಿದ್ದರೆ ಅದು ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆ ಅಲ್ಲ.

ಕೋಡ್

ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆಗೆ ಸಿ ++ ಕೋಡ್

#include<bits/stdc++.h>
using namespace std;
bool isPalindrome(int num){
  if(num < 0) return  false; 
  int reversed = 0, remainder, original = num;
  while(num != 0) {
        remainder = num % 10; 
        reversed = reversed * 10 + remainder; 
        num  /= 10; 
   }
   return original == reversed;
}
  
int main() 
{ 
   if(isPalindrome(12321)) 
     cout<<"Yes, it is Palindrome"; 
   else
     cout<<"No, not Palindrome"; 
}
Yes, it is Palindrome

ಪಾಲಿಂಡ್ರೋಮ್ ಸಂಖ್ಯೆಗೆ ಜಾವಾ ಕೋಡ್

public class check
{	 
  static  boolean isPalindrome(int num){
   if(num < 0) return  false; 
   int reversed = 0, remainder, original = num;
   while(num != 0) {
        remainder = num % 10; 
        reversed = reversed * 10 + remainder; 
        num  /= 10; 
    }
    return original == reversed;
}
  
public static void main(String args[]){ 
    if(isPalindrome(12321)) 
      System.out.println("Yes, it is Palindrome"); 
    else
      System.out.println("No, not Palindrome"); 
  } 
} 

Yes, it is Palindrome

ಸಂಕೀರ್ಣತೆ ವಿಶ್ಲೇಷಣೆ

ಸಮಯದ ಸಂಕೀರ್ಣತೆ

ಒಂದು ಸಂಖ್ಯೆ ಪಾಲಿಂಡ್ರೋಮ್ ಅಥವಾ ಇಲ್ಲವೇ ಎಂದು ಪರಿಶೀಲಿಸುವ ಸಮಯದ ಸಂಕೀರ್ಣತೆ  

ಬಾಹ್ಯಾಕಾಶ ಸಂಕೀರ್ಣತೆ

ಒ (1) ಏಕೆಂದರೆ ವ್ಯತಿರಿಕ್ತ ಸಂಖ್ಯೆಯನ್ನು ಸಂಗ್ರಹಿಸಲು ನಾವು ಒಂದು ಹೆಚ್ಚುವರಿ ವೇರಿಯಬಲ್ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೇವೆ.