Palindrome نمبر


مشکل سطح آرام سے
اکثر پوچھا جاتا ہے ایڈوب ایمیزون بلومبرگ DBOI گوگل میک مائیکروسافٹ o9 حل
ریاضی

مسئلہ یہ بیان

مسئلہ "Palindrome نمبر" بیان کرتا ہے کہ آپ کو ایک عدد نمبر دیا جاتا ہے۔ چیک کریں کہ یہ پلینڈوم ہے یا نہیں۔ دیئے گئے نمبر کو سٹرنگ میں تبدیل کیے بغیر اس مسئلے کو حل کریں۔

Palindrome نمبر

مثال کے طور پر

12321
true

وضاحت

12321 ایک پالینڈوم نمبر ہے کیونکہ جب ہم 12321 کو الٹ دیتے ہیں تو یہ 12321 دیتا ہے جو دیئے گئے نمبر کے برابر ہے۔ تو 12321 ایک پالینڈوم نمبر ہے۔

-12321
false

وضاحت

-12321 ایک پالینڈوم نمبر نہیں ہے کیونکہ جب ہم ریورس کرتے ہیں -12321 یہ 12321 دیتا ہے- جو دیئے گئے نمبر کی طرح نہیں ہے۔ تو -12321 ایک پالینڈوم نمبر نہیں ہے۔

کے لئے نقطہ نظر Palindrome نمبر کی جانچ پڑتال

ہمارے ذہن میں جو پہلا نقطہ نظر آتا ہے وہ یہ ہے کہ دیئے گئے نمبر کو اسٹرنگ میں تبدیل کریں اور چیک کریں کہ آیا یہ پالینڈوم ہے یا نہیں۔ لیکن ہم یہ نہیں کرسکتے کیونکہ یہ نقطہ نظر محدود ہے اور ہمیں اس کے لئے اضافی جگہ کی ضرورت بھی ہے سٹرنگ.

ہم ایک اہم نکتہ کا مشاہدہ بھی کر سکتے ہیں کہ ایک منفی تعداد کبھی بھی پالینڈوم نمبر نہیں ہوتا ہے۔

لہذا ہم کوشش کریں گے کہ اس سے مختلف انداز میں رجوع کیا جاسکے۔ ہم تعداد کو الٹ دیں گے اور اسے متغیر میں اسٹور کریں گے اور موازنہ کریں اگر یہ اصل نمبر کے برابر ہے۔ اگر الٹ نمبر اصل تعداد کے برابر ہے تو نمبر پیلیڈرووم ہے ورنہ یہ پالینڈروم نہیں ہے۔

دیئے گئے نمبر کو تبدیل کرنے کے ل we ہم انجام دیں گے (بقیہ = n٪ 10) اس نمبر کا آخری ہندسہ دے گا۔ ہم الٹا نمبر پیدا کریں گے (الٹا = الٹ * 10 + بقیہ)۔ اب ہم دوسرا آخری ہندسہ حاصل کرنے کے لئے اس تعداد کو 10 سے تقسیم کریں گے۔ ہم اس عمل کو اس وقت تک دہراتے ہیں جب تک n کی قیمت صفر سے زیادہ نہ ہوجائے۔

آخر میں ، ہم موازنہ کریں گے اگر اصل تعداد الٹ تعداد کے برابر ہے۔ اگر ہاں تو یہ نمبر ایک پالینڈوم نمبر ہے ورنہ یہ پالینڈروم نمبر نہیں ہے۔

ضابطے

پلنڈروم نمبر کیلئے C ++ کوڈ

#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

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

پیچیدگی کا تجزیہ

وقت کی پیچیدگی

وقت کی پیچیدگی کو چیک کرنے کے ل if کہ آیا کوئی نمبر پالینڈوم ہے یا نہیں  

خلائی پیچیدگی

O (1) کیونکہ ہم الٹا نمبر ذخیرہ کرنے کے لئے ایک اضافی متغیر استعمال کر رہے ہیں۔