质数 数论
来源:互联网 发布:网络管理常用协议 编辑:程序博客网 时间:2024/06/05 20:31
题意
n<=10^12
分析
代码
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>using namespace std;typedef long long LL;const int N=1000005;const int MOD=998244353;int prime[N],tot,mu[N];bool not_prime[N];void get_prime(int n){ mu[1]=1; for (int i=2;i<=n;i++) { if (!not_prime[i]) prime[++tot]=i,mu[i]=-1; for (int j=1;j<=tot&&i*prime[j]<=n;j++) { not_prime[i*prime[j]]=1; if (i%prime[j]==0) break; mu[i*prime[j]]=-mu[i]; } }}int main(){ LL n; scanf("%lld",&n); int qn=sqrt(n); get_prime(qn); int ans=0; for (int p=1;p<=qn;p++) { if (!mu[p]) continue; LL w=n/p/p; for (LL i=1,last;i<=w;i=last+1) { last=w/(w/i); (ans+=(LL)w/i%MOD*((last-i+1)%MOD)%MOD*mu[p]%MOD)%=MOD; } } printf("%d",(ans+MOD)%MOD); return 0;}
阅读全文
0 0
- 质数 数论
- 数论基础之质数
- 数论专题 区间质数数量
- 【JZOJ5250】【GDOI2018模拟】质数(数论)
- hdu 2136 数论+筛选质数+打表
- hihoCoder 数论一Miller-Rabin质数检测
- 数论一·Miller-Rabin质数测试
- hdu 5750 Dertouzos(数论:质数枚举)
- 校内互测 质数生成器 (数论)
- 数论一·Miller-Rabin质数测试
- 数论二·Eular质数筛法
- 【数论】17.6.4 质数统计 题解
- 51Nod 1181 质数中的质数(质数筛选好题)(数论)
- #1287 : 数论一·Miller-Rabin质数测试--511186 质数检测 V2质数检测----【Miller-Rabin质数测试】
- 关于数论中的互质数的最大不能组合数
- 维基oi 1031 质数环 (数论,搜索)
- 暑期入门练习(简单数论,质数筛选)
- 20140915 【 数论 - Miller_Rabin素数测试 】 51nod 1106 . 质数检测
- 机器学习实战_09树回归
- 修改npm镜像源
- HDU 4725 The Shortest Path in Nya Graph(最短路)
- 构建ssm的时候遇到的错误一
- Java设计模式:抽象工厂模式(Abstract Factroy Pattern)
- 质数 数论
- 仿支付宝密码输入键盘
- fpga控制vga显示彩色图片
- 典型的 C++ 程序员成长经历
- 关于BRDF
- Java并发/多线程教程
- 线程学习笔记(十)-解决死锁
- 【布隆过滤器】实现一个简单的布隆过滤器
- php 二维数组排序