当前位置: 首页 > news >正文

网络广告是什么网站优化外包费用

网络广告是什么,网站优化外包费用,注册公司代理电话,公司建一个网站要多少钱分解质因数模板 时间复杂度 O ( n ) O(\sqrt n) O(n ​) 把一个数 n n n分解质因数之后,大于 n \sqrt n n ​的质因数最多有一个,也正因此我们可以只考虑 ≤ n \leq \sqrt n ≤n ​的数,最后再做特判。 void divide(int n) {int x sqrt(n)…

分解质因数模板

时间复杂度 O ( n ) O(\sqrt n) O(n )
把一个数 n n n分解质因数之后,大于 n \sqrt n n 的质因数最多有一个,也正因此我们可以只考虑 ≤ n \leq \sqrt n n 的数,最后再做特判。

void divide(int n)
{int x = sqrt(n);for (int i = 2; i <= x; i ++ ){int s = 0;while (n % i == 0){n /= i;s += 1;}if (s) printf("%d %d\n", i, s);}if (n > 1) printf("%d %d\n", n, 1);puts("");return ;
}

阶乘分解

给定整数 N N N,试把阶乘 N ! N! N! 分解质因数,按照算术基本定理的形式输出分解结果中的 p i pi pi c i ci ci 即可。

输入格式
一个整数 N N N

输出格式

N ! N! N!分解质因数后的结果,共若干行,每行一对 p i , c i p_i,c_i pi,ci,表示含有 p i c i p_i^{c_i} pici
项。按照 pi 从小到大的顺序输出。

数据范围
3 ≤ N ≤ 1 0 6 3≤N≤10^6 3N106

输入样例:

5

输出样例:

2 3
3 1
5 1

样例解释
5 ! = 120 = 23 ∗ 3 ∗ 5 5!=120=23∗3∗5 5!=120=2335

一个直观的想法是对于 1 ~ N 1~N 1N内的每一个数分解质因数,再把对应质因数的次方数加起来就是 N ! N! N!分解质因数的结果。但是时间复杂度为 O ( N N ) O(N\sqrt{N}) O(NN )会超时。

考虑先预处理出 N N N范围内的质数,对于每一个质数 p p p,在 N ! N! N!分解质因数的结果中所对应的次方数为 ⌊ N p ⌋ + ⌊ N p 2 ⌋ + ⌊ N p 3 ⌋ + . . . \lfloor\frac{N}{p}\rfloor+\lfloor\frac{N}{p^2}\rfloor+\lfloor\frac{N}{p^3}\rfloor+... pN+p2N+p3N+...。因为 N N N以内素数个数大概为 N / l n N N/lnN N/lnN,所以时间复杂度为 O ( N / l n N ∗ l o g p N ) ≈ O ( N ) O(N/lnN*log_p^N)≈O(N) O(N/lnNlogpN)O(N)

#include <iostream>
using namespace std;
#define N 1000010
bool st[N];
int prime[N];
int n, cnt = 0;
typedef long long ll;
void init(int n)
{for (int i = 2; i <= n; i ++ ){if(!st[i]) prime[cnt ++ ] = i;for (int j = 0; prime[j] * i <= n; j ++ ){st[i * prime[j]] =true;if (i % prime[j] == 0)break;}}
}
int main()
{cin >> n;init(n);for (int i = 0; i < cnt; i ++ ){int p = prime[i];int s = 0;for (ll j = p; j <= n; j *= p)s += n / j;printf("%d %d\n", p, s);}return 0;
}
http://www.dtcms.com/a/507264.html

相关文章:

  • 【IEEE/EI/Scopus检索】2026年第六届信息技术与云计算国际会议(ITCC 2026)
  • 赋能天然产物科学研究:多模态大模型与知识图谱的革新之旅
  • 用C语言实现原型模式时,如何确定需要深拷贝还是浅拷贝?
  • Spring Boot 3零基础教程,WEB 开发 Thymeleaf 属性优先级 行内写法 变量选择 笔记42
  • Go语言:对其语法的一些见解
  • Go Web 编程快速入门 · 04 - 请求对象 Request:头、体与查询参数
  • 伦教九江网站建设辽宁工程建筑信息网
  • Deep End-to-End Alignment and Refinement for Time-of-Flight RGB-D Module,2019
  • Ubuntu 安装 Gitea
  • 通达信灵活屏
  • 亚马逊云代理商:AWS怎么通过加密实现数据保护目标?
  • C标准库--C99--控制浮点环境<fenv.h>
  • 【Linux】“ 权限 “ 与相关指令
  • webrtc弱网-ReceiveSideCongestionController类源码分析及算法原理
  • 通达信--主题投资分析
  • 揭阳专业做网站天台县建设规划局网站
  • 福海网站制作关键词堆砌的作弊网站
  • sql特训
  • LeetCode 刷题【126. 单词接龙 II】
  • 防火墙规则设置
  • 江协科技STM32课程笔记(五)— ADC模数转换器
  • 什么是慢查询,慢请求,以及如何避免
  • 网站设计模板简约福州网站设计
  • 各大网站做推广广告什么是企业形象设计
  • 大模型金融量化比赛
  • Kubernetes深入学习之容器入门(一)
  • Docker安装部署MrDoc觅思文档-免费的国产知识库管理系统
  • 批量更新操作全攻略:从JDBC原理到多框架实现(MyBatis/MyBatis-Plus/Nutz)
  • 简述:普瑞时空数据建库软件(国土变更建库)之一(2025年部分新规则)
  • 零基础新手小白快速了解掌握服务集群与自动化运维(十二)Python编程之面向对象