P3601 签到题【欧拉筛 + 欧拉函数】

题目背景

这是一道签到题!

建议做题之前仔细阅读数据范围!
题目描述

我们定义一个函数:qiandao(x)为小于等于x的数中与x不互质的数的个数。

这题作为签到题,给出l和r,要求求∑i=lrqiandao(i) mod 666623333\sum_{i=l}^r qiandao(i)mod666623333∑i=lr​qiandao(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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值