首页 > 试题广场 >

小美的外卖订单编号

[编程题]小美的外卖订单编号
  • 热度指数:2312 时间限制: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
头像 Mag1c0nch
发表于 2024-11-25 19:16:05
从1到m的循环编号我们很快就能联想到取余,但是取余的下标是从0开始的,例如对m取余,代表着从0到m-1循环编号,我们发现可以提前给x减去1然后取余结束后再加一即可 #include <bits/stdc++.h> using namespace std; #define int long 展开全文
头像 Kato_Shoko
发表于 2024-11-25 22:13:48
特判一下就可以了。 #include <iostream> #include <queue> #include <map> #include <set> #include <cmath> #include <cstring> # 展开全文
头像 12316534
发表于 2024-11-26 00:08:26
for _ in range(int(input())): m,x=map(int,input().split()) if m>=x: print(x) elif x%m==0: print(m) else: pr 展开全文
头像 宿伞之神
发表于 2024-11-26 01:04:06
分类讨论题。 #include<bits/stdc++.h> #define int long long #define double long double #define x first #define y second using namespace std; typedef lo 展开全文
头像 开箱即用的贪吃蛇
发表于 2024-11-28 17:46:05
t = int(input()) for _ in range(0, t): m, x = map(int, input().split()) # 对m取余,0……m-1,以下操作可以满足 x -= 1 x %= m x += 1 print(x)
头像 来泡池子了的西红柿很奔放
发表于 2024-11-26 22:51:36
#include <stdio.h> int main() { int q; if (scanf("%d", &q) != EOF) { for(int i = 0; i < q; i++) { 展开全文
头像 是基德吖
发表于 2024-11-27 10:34:17
import java.io.*; import java.util.*; import java.math.BigInteger; public class Main { static void solve() { int q = in.nextInt(); 展开全文
头像 Hiiro_2233
发表于 2024-11-26 02:19:27
#include "bits/stdc++.h" using namespace std; #define int long long #define endl "\n" #define PII pair<int,int> void slu() 展开全文
头像 tartarns_yan
发表于 2024-11-26 09:20:05
#include <iostream> using namespace std; int main() { int t; cin >> t; while(t--){ int a, b; while (cin >& 展开全文