题目背景
这是一道签到题!
建议做题之前仔细阅读数据范围!
题目描述
我们定义一个函数:qiandao(x)为小于等于x的数中与x不互质的数的个数。
这题作为签到题,给出l和r,要求求∑i=lrqiandao(i) mod 666623333\sum_{i=l}^r qiandao(i)mod666623333∑i=lrqiandao(i) mod 666623333。
输入格式
一行两个整数,l、r。
输出格式
一行一个整数表示答案。
输入输出样例
输入 #1
233 2333
输出 #1
1056499
输入 #2
2333333333 2333666666
输出 #2
153096296
说明/提示
对于30%的数据,l,r≤103l,r\leq 10^3l,r≤103。
对于60%的数据,l,r≤107l,r\leq 10^7l,r≤107。
对于100%的数据,1≤l≤r≤10121 \leq l \leq r \leq 10^{12}1≤l≤r≤1012,r−l≤106r-l \leq 10^6r−l≤106。
有除法的时候不能取模。找了好久的bug!!
#include <iostream>
#include <algorithm>
#include <cmath>
#define int long long
using namespace std;
typedef long long ll;
const int maxn = 1e6 + 10;
const int mod = 666623333;
bool flag[maxn];
int prim[maxn];
ll a[maxn];
ll b[maxn