首页 > 试题广场 >

小美的外卖订单编号

[编程题]小美的外卖订单编号
  • 热度指数:2067 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
美团商家的订单发起时,订单编号最开始从 1 开始,后续每发起一个订单,订单编号便在上一订单编号的基础上 +1。为了防止订单号过大,商家还可以设置一个编号上限m,当订单编号超过m时,将又从 1 开始编号。
小美想知道,当订单编号上限为m时,第x个订单编号是多少?将有q次询问。

输入描述:
第一行输入一个整数q(1 \leq q \leq 50000)
接下来q行,每行两个整数m,x(1 \leq m,x \leq 10^9)


输出描述:
q行,每行一个整数表示答案。
示例1

输入

4
2 3
5 17
8 2
4 4

输出

1
2
2
4
数学。
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int q = in.nextInt();
        while (q-- != 0) {
            int m = in.nextInt(), x = in.nextInt();
            System.out.println((x - 1) % m + 1);
        }
    }
}


发表于 2023-12-26 21:01:18 回复(0)

直接取余判断:

#include 
#include
#include
using namespace std;

int q,m,x;

int main() {
    cin>>q;
    while(q--){
        scanf("%d%d", &m,&x);
        //如果不能整除,x要么就是小于m,要么不是m的整数倍
        if(x % m != 0){
            printf("%d\n", x % m);
        }else {
            //x是m的整数倍,直接取m
            printf("%d\n", m);
        }

    }
    return 0;
}
// 64 位输出请用 printf("%lld")
编辑于 2023-10-23 16:37:05 回复(0)
#python
q = int(input())
for _ in range(q):
    m, x = map(int, input().split())
    tmp = x % m
    if tmp == 0:
        print(m)
    else:
        print(tmp)


发表于 2023-09-20 23:21:58 回复(0)
#include <iostream>
using namespace std;
 
intmain() {
    intq;
    cin >> q;
    intm , x , res;
    while(cin >> m >> x) { 
        res = x%m;
        res = (res == 0)? m : res;
        cout << res << endl;
    }
}
发表于 2023-09-19 11:38:11 回复(0)
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();

        while (in.hasNextInt()) { 
            int left = in.nextInt();
            int right = in.nextInt();
            if(right > left){
                int temp = right % left;
                System.out.println(temp == 0 ? left: temp);
            }else{
                System.out.println(right);
            }
        }
    }
}
发表于 2023-09-14 17:25:49 回复(0)
#Python
whileTrue:
    try:
        a = list()
        n = int(input())
        fori in range(n):
            a.append(list(map(int,input().split())))
        fori in range(n):
            print((a[i][1] - 1) % a[i][0] + 1)
    except:
        break
发表于 2023-09-06 23:59:23 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int q = in.nextInt();
        for(int i = 0;i<q;i++){
            int m = in.nextInt();
            int x = in.nextInt();
            int result = 0;
            if(x%m==0){result = m;}
            else{result = x%m;}
            System.out.println(result);
        }
    }
}
发表于 2023-08-30 17:50:21 回复(0)
#include <iostream>
using namespace std;


void solve() {
    int m, x;
    cin >> m >> x;
    cout << (x - 1) % m + 1 << endl;
}

int main() {
    int q;
    cin >> q;
    while(q--) {
        solve();
    }
}
// 64 位输出请用 printf("%lld")


发表于 2023-08-26 08:07:41 回复(0)
importjava.util.Scanner;
 
// 注意类名必须为 Main, 不要有任何 package xxx 信息
publicclassMain {
    publicstaticvoidmain(String[] args) {
        Scanner in = newScanner(System.in);
        intn = in.nextInt(); // 整数n
        // 注意 hasNext 和 hasNextLine 的区别
        while(in.hasNext()) { // 注意 while 处理多个 case
            int[] arr  = newint[2]; // 数组
            for(inti =0;i<2;i++) {
                arr[i] = in.nextInt();
            }
 
            if(arr[0]<arr[1]) { // 判断每行数据
                System.out.println(arr[1] % arr[0] == 0? arr[0] : arr[1]%arr[0]);
            }else{
                System.out.println(arr[1]);
            }
        }
    }
}
发表于 2023-08-25 11:50:38 回复(0)
#include <iostream>
#include<vector>
using namespace std;

int main() {
    int n;
    cin>>n;
    vector<int> vec(2);
    while(n--){
        for(int i=0;i<2;i++){
            cin>>vec[i];
        }
        int result=vec[1]%vec[0];
        if(result==0){
            result=vec[0];
        }
        cout<<result<<endl;
    }

}
发表于 2023-08-23 19:14:22 回复(0)