首页 > 试题广场 >

游游的整数翻转

[编程题]游游的整数翻转
  • 热度指数:392 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
游游拿到了一个正整数x,她希望把这个整数的前k位进行翻转。你能帮帮她吗?

输入描述:
两个正整数xk,用空格隔开。
1\leq x \leq 10^9
k保证不超过x的位数。


输出描述:
翻转后的正整数。请注意不要带前导零。
示例1

输入

123 2

输出

213

说明

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

输入

80407 4

输出

4087

说明

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

for line in sys.stdin:
    a = line.split()
    x = int(a[0])
    k = int(a[1])
s = str(x)
t = s[:k][::-1] + s[k:]
print(int(t))
发表于 2023-09-16 19:34:59 回复(0)
import javax.sound.sampled.ReverbType;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        String[] ss = s.split(" ");
        char[] num = ss[0].toCharArray();

        int k = Integer.valueOf(ss[1]);
        char temp = ' ';
        int index = 0;
        char[] res = reverseK(num, k - 1);
        while (res[index] == '0') {
            res[index] = ' ';
            index++;
        }
        String result=String.valueOf(res).trim();
        System.out.println(result);
    }
    public static char[]  reverseK(char[] num, int k) {
        char temp = num[0];
        for (int i = 0; i < k; i++, k--) {
            temp = num[i];
            num[i] = num[k];
            num[k] = temp;
        }

        return  num;
    }
}
发表于 2023-09-05 19:13:36 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String string = in.next();
        int num = in.nextInt();
        String head = string.substring(0, num);
        String tail = string.substring(num);
        String rehead = new StringBuffer(head).reverse().toString();
        int i = 0;
        int index = -1;
        char[] strArr = rehead.toCharArray();
        for (i = 0; i < rehead.length(); i++) {
            if (strArr[i] == '0') {
                index = i;
            } else {
                break;
            }
        }
        rehead = rehead.substring(index + 1);

        String result = rehead + tail;
        System.out.println(result);
    }
}
编辑于 2023-07-26 18:46:04 回复(0)
#include <iostream>
using namespace std;
#include<bits/stdc++.h>
int main() {
    string a;
    int  b;
    cin>>a>>b;
    reverse(a.begin(),a.begin()+b);
    cout<<stoi(a);
    return 0;

}
// 64 位输出请用 printf("%lld")

发表于 2023-06-26 16:54:01 回复(0)