问题 A
时间限制: 1s 内存限制: 256MB 提交: 442 解决: 198
题目描述
给定 n, m ,问是否存在两个不同的数 x, y 使得 1 ≤ x < y ≤ m 且 n mod x = n mod y 。
输入
输入包含多组独立的询问。
第一行包含一个整数 T 表示询问的组数。
接下来 T 行每行包含两个整数 n, m,用一个空格分隔,表示一组询问。
输出
输出 T 行,每行依次对应一组询问的结果。如果存在,输出单词 Yes;如果不存在,输出单词 No。
样例输入
3 1 2 5 2 999 99
样例输出
No No Yes
提示
对于 20% 的评测用例,T ≤ 100 ,n, m ≤ 1000;
对于 50% 的评测用例,T ≤ 10000 ,n, m ≤ 105;
对于所有评测用例,1 ≤ T ≤ 105 ,1 ≤ n ≤ 109 ,2 ≤ m ≤ 109。
本试题适用于用Python代码来完成,如用c/c++/java代码建议转到:蓝桥杯2022年第十三届决赛真题-取模(C/C++/Java组) - C语言网链接
先判断大的数可能更有用
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.*;
import java.io.*;
import java.math.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.*;
import java.io.*;
import java.math.*;
public class Main {
//int 2147483647 10
//-2147483648
//9223372036854775807 19
//-9223372036854775808
//1.7976931348623157E308 308
//4.9E-324
static int m;
static long mm;
static int n;
static long nn;
static ArrayList<Integer> al = new ArrayList<>();
static Stack<Integer> st = new Stack<>();
static Queue<Integer> q = new LinkedList<>();
static HashMap<Integer, String> hm = new HashMap<>();
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
static Scanner sc = new Scanner(new InputStreamReader(System.in));
public static void main(String[] args) throws Exception {
int k= Integer.valueOf(br.readLine());
//System.out.println(k);
while(k-->0){
String[] a= br.readLine().split(" ");
// System.out.println(a[0]);
// System.out.println(a[1]);
n=Integer.valueOf(a[0]);
m= Integer.valueOf(a[1]);
int fla=0;
for (int i = 1; i <=m; i++) {
for(int j=1;j<i;j++){
if(n%i==