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

求解连续数字的正约数集合——倍数法

求解连续数字的正约数集合——倍数法

使用规律递推优化,时间复杂度为 \(\mathcal{O}(N\log N)\) ,如果不需要详细的输出集合,则直接将 vector 换为普通数组即可(时间更快) 。

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 7;
vector<int> f[N];void divide(int n) {for (int i = 1; i <= n; ++ i)for (int j = 1; j <= n / i; ++ j)f[i * j].push_back(i);for (int i = 1; i <= n; ++ i) {for (auto it : f[i]) cout << it << " ";cout << endl;}
}
int main() {int x; cin >> x; divide(x);return 0;
}

试除法判是否是质数

标准解

\(\mathcal O(\sqrt N)\)

bool is_prime(int n) {if (n < 2) return false;for (int i = 2; i <= x / i; i++) {if (n % i == 0) return false;}return true;
}

常数优化法

常数优化,达到 \(\mathcal O(\frac {\sqrt N}{3})\)

bool is_prime(int n) {if (n < 2) return false;if (n == 2 || n == 3) return true;if (n % 6 != 1 && n % 6 != 5) return false;for (int i = 5, j = n / i; i <= j; i += 6) {if (n % i == 0 || n % (i + 2) == 0) {return false;}}return true;
}
http://www.gsyq.cn/news/29217.html

相关文章:

  • 欧拉筛(线性筛)
  • 常见数列
  • Markdown数学公式 - -一叶知秋
  • 最小割
  • 查询GPIO状态值(步骤)
  • 欧拉路径/欧拉回路 Hierholzers
  • 无源汇点的最小割问题 Stoer–Wagner
  • 染色法判定二分图 (dfs算法)
  • 链式前向星建图与搜索
  • 一般图最大匹配
  • CF2152G
  • 平面图最短路(对偶图)
  • 最小生成树(MST问题)
  • 10.23总结
  • 关于 vue项目 代理的坑;baseURL必须为空;代理才会生效
  • 10.21总结
  • 【Linux】倒计时和进度条完成
  • 权威调研榜单:四氟换热器生产厂家TOP3榜单好评深度解析
  • 2025年热门的魔方智能柜,黑金刚智能柜厂家推荐及选择指南
  • 2025 年漆包线厂家最新推荐榜,技术实力与市场口碑深度解析,筛选优质品牌助力采购决策
  • 2025 年优质销轴厂家最新推荐榜,技术实力与市场口碑深度解析,聚焦高品质连接解决方案发黑 / 异型 / 非标 / 农机销轴公司推荐
  • View root,dirs,files
  • 2025年正规的按动中性笔,多功能中性笔厂家推荐及采购指南
  • 2025 年企业邮箱供应商品牌最新推荐榜,聚焦技术实力与市场口碑深度解析
  • python type创建类
  • 2025 年最新试验箱厂家排行榜:高低温 / 快速温变 / 三综合 / 淋雨 / 沙尘 / 高低温冲击 / 高低温湿热设备优质厂家最新推荐
  • 2025年质量好的防火风管加工,角钢风管加工厂家推荐及选择建议
  • 2025 年板材厂家最新推荐排行榜:胖胖熊等优质企业综合实力解析与选购参考
  • 2025 年 502 胶水 UV 无影胶 AB 胶厂家最新推荐榜,技术实力与市场口碑深度解析的优质厂商汇总
  • 2025年知名的氧化铝溶胶,粘结剂铝溶胶直销制造