यहां हम देखेंगे कि किसी संख्या N के पहले और अंतिम X अंकों के बीच अंतर कैसे प्राप्त करें। संख्या और X दिए गए हैं। इस समस्या को हल करने के लिए, हमें संख्या की लंबाई ज्ञात करनी होगी, फिर मॉड्यूलस ऑपरेटर का उपयोग करके अंतिम x अंकों को काटना होगा। उसके बाद पहले x अंकों को छोड़कर सभी अंकों को काट दें। फिर अंतर प्राप्त करें, और परिणाम वापस करें। माना संख्या N =568424 है। X 2 है इसलिए पहले दो अंक 56 हैं, और अंतिम दो अंक 24 हैं। अंतर (56 - 24) =32 है।
एल्गोरिदम
diffFirstLastDigits(N, X)
begin p := 10^X last := N mod p len := length of the number N while len is not same as X, do N := N / 10 len := len -1 done first := len return |first - last| end
उदाहरण
#include <iostream>
#include <cmath>
using namespace std;
int lengthCount(int n){
return floor(log10(n) + 1);
}
int diffFirstLastDigits(int n, int x) {
int first, last, p, len;
p = pow(10, x);
last = n % p;
len = lengthCount(n);
while(len != x){
n /= 10;
len--;
}
first = n;
return abs(first - last);
}
main() {
int n, x;
cout << "Enter number and number of digits from first and last: ";
cin >> n >> x;
cout << "Difference: " << diffFirstLastDigits(n,x);
} आउटपुट
Enter number and number of digits from first and last: 568424 2 Difference: 32