ਪਲੈਂਡਰੋਮ ਨੰਬਰ


ਮੁਸ਼ਕਲ ਪੱਧਰ ਸੌਖੀ
ਅਕਸਰ ਪੁੱਛਿਆ ਜਾਂਦਾ ਹੈ ਅਡੋਬ ਐਮਾਜ਼ਾਨ ਬਲੂਮਬਰਗ ਡੀ.ਬੀ.ਓ.ਆਈ. ਗੂਗਲ ਮੈਕ Microsoft ਦੇ o9 ਹੱਲ
ਗਣਿਤ

ਸਮੱਸਿਆ ਦਾ ਬਿਆਨ

ਸਮੱਸਿਆ “ਪਲੈਂਡਰੋਮ ਨੰਬਰ” ਕਹਿੰਦੀ ਹੈ ਕਿ ਤੁਹਾਨੂੰ ਪੂਰਨ ਅੰਕ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ. ਜਾਂਚ ਕਰੋ ਕਿ ਇਹ ਪਾਲੀਂਡਰੋਮ ਹੈ ਜਾਂ ਨਹੀਂ. ਦਿੱਤੇ ਗਏ ਨੰਬਰ ਨੂੰ ਸਤਰ ਵਿੱਚ ਤਬਦੀਲ ਕੀਤੇ ਬਿਨਾਂ ਇਸ ਸਮੱਸਿਆ ਦਾ ਹੱਲ ਕਰੋ.

ਪਲੈਂਡਰੋਮ ਨੰਬਰ

ਉਦਾਹਰਨ

12321
true

ਕਥਾ

12321 ਇਕ ਪਾਲੀਂਡਰੋਮ ਨੰਬਰ ਹੈ ਕਿਉਂਕਿ ਜਦੋਂ ਅਸੀਂ 12321 ਨੂੰ ਉਲਟਾਉਂਦੇ ਹਾਂ ਤਾਂ ਇਹ 12321 ਦਿੰਦਾ ਹੈ ਜੋ ਕਿ ਦਿੱਤੇ ਗਏ ਨੰਬਰ ਦੇ ਸਮਾਨ ਹੈ. ਇਸ ਲਈ 12321 ਇਕ ਪਾਲੀਂਡ੍ਰੋਮ ਨੰਬਰ ਹੈ.

-12321
false

ਕਥਾ

-12321 ਪਾਲੀਂਡ੍ਰੋਮ ਨੰਬਰ ਨਹੀਂ ਹੈ ਕਿਉਂਕਿ ਜਦੋਂ ਅਸੀਂ ਉਲਟਾਉਂਦੇ ਹਾਂ -12321 ਇਹ 12321 ਦਿੰਦਾ ਹੈ- ਜੋ ਕਿ ਦਿੱਤੇ ਗਏ ਨੰਬਰ ਦੇ ਸਮਾਨ ਨਹੀਂ ਹੈ. ਤਾਂ -12321 ਪਾਲੀਂਡ੍ਰੋਮ ਨੰਬਰ ਨਹੀਂ ਹੈ.

ਲਈ ਪਹੁੰਚ ਪਲੈਂਡਰੋਮ ਨੰਬਰ ਦੀ ਜਾਂਚ

ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਪਹੁੰਚ ਜੋ ਸਾਡੇ ਦਿਮਾਗ ਵਿਚ ਆਉਂਦੀ ਹੈ ਉਹ ਹੈ ਕਿ ਦਿੱਤੇ ਗਏ ਨੰਬਰ ਨੂੰ ਇਕ ਸਤਰ ਵਿਚ ਬਦਲਣਾ ਅਤੇ ਜਾਂਚ ਕਰਨਾ ਕਿ ਕੀ ਇਹ ਪਾਲੀਂਡਰੋਮ ਹੈ ਜਾਂ ਨਹੀਂ. ਪਰ ਅਸੀਂ ਅਜਿਹਾ ਨਹੀਂ ਕਰ ਸਕਦੇ ਕਿਉਂਕਿ ਇਹ ਪਹੁੰਚ ਸੀਮਿਤ ਹੈ ਅਤੇ ਨਾਲ ਹੀ ਸਾਨੂੰ ਲਈ ਵਧੇਰੇ ਥਾਂ ਦੀ ਲੋੜ ਹੈ ਸਤਰ.

ਅਸੀਂ ਇੱਕ ਮਹੱਤਵਪੂਰਣ ਨੁਕਤੇ ਨੂੰ ਵੀ ਵੇਖ ਸਕਦੇ ਹਾਂ ਕਿ ਇੱਕ ਨਕਾਰਾਤਮਕ ਸੰਖਿਆ ਕਦੇ ਵੀ ਪਾਲੀਂਡ੍ਰੋਮ ਨੰਬਰ ਨਹੀਂ ਹੁੰਦੀ.

ਇਸ ਲਈ ਅਸੀਂ ਇਸ ਨੂੰ ਵੱਖਰੇ inੰਗ ਨਾਲ ਪਹੁੰਚਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਾਂਗੇ. ਅਸੀਂ ਨੰਬਰ ਨੂੰ ਉਲਟਾਵਾਂਗੇ ਅਤੇ ਇਸਨੂੰ ਵੇਰੀਏਬਲ ਵਿਚ ਸਟੋਰ ਕਰਾਂਗੇ ਅਤੇ ਤੁਲਨਾ ਕਰਾਂਗੇ ਜੇ ਇਹ ਅਸਲ ਨੰਬਰ ਦੇ ਬਰਾਬਰ ਹੈ. ਜੇ ਉਲਟਾ ਨੰਬਰ ਅਸਲ ਨੰਬਰ ਦੇ ਬਰਾਬਰ ਹੈ ਤਾਂ ਨੰਬਰ ਇਕ ਪਾਲੀਂਡਰੋਮ ਹੈ ਨਹੀਂ ਤਾਂ ਇਹ ਇਕ ਪਾਲੀਂਡਰੋਮ ਨਹੀਂ ਹੈ.

ਦਿੱਤੀ ਗਈ ਸੰਖਿਆ ਨੂੰ ਉਲਟਾਉਣ ਲਈ ਅਸੀਂ ਪ੍ਰਦਰਸ਼ਨ ਕਰਾਂਗੇ (ਬਾਕੀ = 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) ਕਿਉਂਕਿ ਅਸੀਂ ਉਲਟ ਨੰਬਰ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਇੱਕ ਵਾਧੂ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ.