试除法求约数算法总结

知识概览

  • 试除法求一个数的约数的时间复杂度是

例题展示

题目链接

活动 - AcWing 系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。https://www.acwing.com/problem/content/871/

题解

用试除法求约数,总的时间复杂度是,也就是400万~500万之间。

代码

cpp 复制代码
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

vector<int> get_divisors(int n)
{
    vector<int> res;
    
    for (int i = 1; i <= n / i; i++)
        if (n % i == 0)
        {
            res.push_back(i);
            if (i != n / i) res.push_back(n / i);
        }
        
    sort(res.begin(), res.end());
    return res;
}

int main()
{
    int n;
    cin >> n;
    
    while (n--)
    {
        int x;
        cin >> x;
        auto res = get_divisors(x);
        for (auto t : res) cout << t << ' ';
        cout << endl;
    }
    return 0;
}

参考资料

  1. AcWing算法基础课
相关推荐
Tisfy1 天前
LeetCode 2110.股票平滑下跌阶段的数目:数学(一次遍历)
数学·算法·leetcode·题解
1024小神1 天前
swift中 列表、字典、集合、元祖 常用的方法
数据结构·算法·swift
ULTRA??1 天前
Informed RRT*实现椭圆启发式采样
c++·算法
Swizard1 天前
告别样本不平衡噩梦:Focal Loss 让你的模型学会“划重点”
算法·ai·训练
亭台1 天前
【Matlab笔记_23】MATLAB的工具包m_map的m_image和m_pcolor区别
笔记·算法·matlab
李玮豪Jimmy1 天前
Day39:动态规划part12(115.不同的子序列、583.两个字符串的删除操作、72.编辑距离)
算法·动态规划
历程里程碑1 天前
C++ 10 模板进阶:参数特化与分离编译解析
c语言·开发语言·数据结构·c++·算法
星辞树1 天前
从 In-context Learning 到 RLHF:大语言模型的范式跃迁
算法
再__努力1点1 天前
【68】颜色直方图详解与Python实现
开发语言·图像处理·人工智能·python·算法·计算机视觉
mingchen_peng1 天前
第一章 初识智能体
算法