题解:P12155 [蓝桥杯 2025 省 Java B] 消失的蓝宝

· · 题解

思路:

暴力把一个一个枚举 n 肯定超时。我们仔细观察这道题,发现 n 减去 20250412 一定是 20240413 的倍数。接下来就很好办了,我们只需要枚举所有 20240413 的倍数,然后再让它减去 20250412 去判断第二个条件即可。

代码:

#include<bits/stdc++.h>
using namespace std;
long long n;
int main(){
    for(long long i = 20240413;;i+=20240413){//枚举20240413的倍数。 
        if(((i-20250412) + 20240413) % 20250412 == 0){//判断第二个条件。 
            cout<<i-20250412;
            break;
        }
    }
    return 0;
}