How can I reverse last two digits of any number?

For example the number is 2345 I want to write a program which will print 2354 in output.

can u provide the link to the problem

#include <bits/stdc++.h>
using namespace std; 
#define max(a, b) (a < b ? b : a) 
#define min(a, b) ((a > b) ? b : a) 
#define mod 1e9 + 7 
#define FOR(a, c) for (int(a) = 0; (a) < (c); (a)++) 
#define FORL(a, b, c) for (int(a) = (b); (a) <= (c); (a)++) 
#define FORR(a, b, c) for (int(a) = (b); (a) >= (c); (a)--) 
#define INF 1000000000000000003 
typedef long long int ll; 
typedef vector<int> vi; 
typedef pair<int, int> pi; 
#define F first 
#define S second 
#define pb push_back 
#define POB pop_back 
#define MP make_pair 

  


int main() 
{ 
    ios::sync_with_stdio(0); 
    cin.tie(0);

		int n;
		cin>>n;
		string s=to_string(n);
		if(s.length()>=2)
		{
		swap(s[s.length()-1],s[s.length()-2]);
		}
		cout<<stoi(s)<<endl;
		
    
    return 0; 
} 
1 Like

Thanks for the reply, I don’t have the link to the question but I am writing the question down…

A boy asked his mother for M rupees in integer and using digits of M he created another integer N which is greater than M and the difference between M and N must be the least possible. Now help the his mother to find the integer N.

For example:
M= 2345
output will be 2354 (=N)
since the difference between M and N will be 9 which is least.

similarly if M =321
output will be 321(=N)
since in this case the difference between M and N will be 0 which is again the least possible difference.

okkk

@braveston3 here is the sol.
#include
using namespace std;
int main()
{
int m,n,q,s=0;
cin>>m;
q=m/100;//Separates the integer from last 2 digits.
n=m%100;//Store the value last 2 digits.
while(n!=0)
{
s=s10+(n%10);//Reversing those 2 digits.
n/=10;
}
n=q
100+s;
cout<<n;

return 0;

}

1 Like

I don’t think that getting the last two digits of the number will bring you the next greater number.
For example: M = 2354 then according to your last two digit swap rule, N will be 2345
but N should be greater M.
So your approach is wrong of finding the next bigger number by swapping last two digits.
next greater number

1 Like

how can be 321 greater than 321?

1 Like

If you like to do it with python you may see this.

n=input()
print(n.replace(n[-2:], n[-2:][::-1]))
1 Like