翻转数字

题目描述

游游拿到了一个正整数x,她希望把这个整数的前k位进行翻转。你能帮帮她吗?

输入描述:

1
2
3
两个正整数x和k,用空格隔开。
1≤x≤1e9;
kkk保证不超过xxx的位数。

输出描述:

1
翻转后的正整数。请注意不要带前导零。                 

输入

1
123 2

输出

1
213

说明

1
将前两位反转后,12变成了21。正整数变成了213。                 

输入

1
80407 4

输出

1
4087

说明

1
将前4位翻转,变成0408,连起来后去除前导零为4087。

链接:https://ac.nowcoder.com/acm/contest/68346/A
来源:牛客网

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<bits/stdc++.h>
using namespace std;

int main(){
int ans=0,n=0;
string s;
cin>>s>>n;
s=' '+s;

for(int i=n;i>0;i--)
ans=ans*10+(s[i]-'0');

for(int i=n+1;i<s.size();i++)
ans=ans*10+(s[i]-'0');

cout<<ans<<endl;
return 0;
}