Description
给你L,R,求【L,R】之间的两个不同的数字i和j,使得i*j%2019最小
Format
Input
一行给出L,R 0<=L<R<=2e9
Output
如题
Samples
输入数据 1
2020 2040
输出数据 1
2
Hint
找到的i,j分别为2020,2021
***********************************************************************************
源码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int L, R;
cin >> L >> R; // 输入L和R
if ((L >= R) || (R > 2e9) ) {
cout << "Input Error!";
} else {
int mod = 0;
vector<int> arr;
for (int i = L; i <= R; i++) {
mod = i % 2019;
if (mod == 0) {
cout << mod;
return 0;
} else
arr.push_back(mod);
}
mod = 2019;
for (int i = 0; i <= (int)arr.size()-1; i++) {
for (int j = i + 1; j <=(int)arr.size()-1; j++)
if (((arr[i] * arr[j]) % 2019) < mod)
mod = (arr[i] * arr[j]) % 2019;
}
cout << mod;
}
return 0;
}

该编程问题要求在给定范围[L,R]内找到满足条件i*j对2019取模最小的两个不同整数i和j。代码使用C++实现,通过生成整数序列并计算两数乘积的模2019来找到最小值。
221

被折叠的 条评论
为什么被折叠?



