মান लीজिए একটি পূর্ণসংখ্যা n দেওয়া আছে, আমাদের nতম পূর্ণসংখ্যা খুঁজে বের করতে হবে নিম্নলিখিত অপারেশন অনুসরণ করে: ১ থেকে শুরু করে যেকোনো এমন পূর্ণসংখ্যা অপসারণ করতে হবে যাতে ৯ অঙ্ক থাকে (যেমন ৯, ১৯, ২৯...।) ফলে একটি নতুন পূর্ণসংখ্যা সিকোয়েন্স তৈরি হবে: ১, ২, ৩, ৪, ৫, ৬, ৭, ৮, ১০, ১১, ... মনে রাখবেন ১ হবে প্রথম পূর্ণসংখ্যা।
যেমন, ইনপুট ৯ হলে আউটপুট হবে ১০।
সমাধানের ধাপসমূহ
- ret := 0
- s := 1
- যখন n শূন্য নয়, তখন লুপ চালাতে হবে:
- ret := ret + (n mod 9) * s
- n := n / 9
- s := s * 10
- s := s * 10
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
typedef long long int lli;
class Solution {
public:
int newInteger(int n) {
int ret = 0;
lli s = 1;
while (n) {
ret += (n % 9) * s;
n /= 9;
s *= 10;
}
return ret;
}
};
int main() {
Solution ob;
cout << (ob.newInteger(120));
}ইনপুট
120
আউটপুট
143