题目链接
法一:因为题目只要求一个答案,你可以在自己电脑上暴力求解,然后提交一个答案即可
ps:该方法代码不要直接提交,否则会运行时间过长而失败,比赛的时候先在自己电脑上算一下
#include<stdio.h>
int main()
{
long long i, x;
for (i = 1;i <= 1000000007;i++)
{
if ((i * 2021) % 1000000007 == 999999999)
{
printf("%lld", i);
}
}
return 0;
}
法二:
假设我们所求的数为x,我们可以列出下面的公式
这样我们就可以把x的大范围,划分为k的小范围
有了k的范围之后,我们只需要保证某个k带进去,x为整数即可
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
for (long long k = 1;k <= 2022;k++) {
//余数为0说明x是整数
if ((k * 1000000007 - 8) % 2021 == 0) {
printf("%lld", (k * 1000000007 - 8) / 2021);
}
}
return 0;
}