算法笔记.求约数

代码实现:

cpp 复制代码
#include<iostream>
using namespace std;
#include<vector>
void check(int x)
{
    vector<int> v;
    for(int i = 1;i<= x/i;i++)
    {
        if(x%i == 0) 
        {
            cout << i<<" ";
            v.push_back(i);
        }
    }
    
    for(int i = v.size()-1;i>=0;i--)
    {
        if(x/v[i] == v[i]) continue;
        cout << x/v[i]<<" ";
    }
    cout <<endl;
}


int main()
{
    int n;
    cin>>n;
    
    while(n--)
    {
        int x;
        scanf("%d",&x);
        check(x);
    }
    return 0;
}

注意:约数只需要枚举到 ,对应的大于约数直接算出来,相同约数只取一个

相关推荐
程序员编程指南1 小时前
Qt 嵌入式界面优化技术
c语言·开发语言·c++·qt
【上下求索】2 小时前
学习笔记090——Ubuntu 中 UFW 防火墙的使用
笔记·学习·ubuntu
NeRF_er2 小时前
STORM代码阅读笔记
大数据·笔记·storm
UQWRJ2 小时前
菜鸟教程Linux ViVimYumApt笔记
linux·运维·笔记
程序员Xu2 小时前
【OD机试题解法笔记】查找接口成功率最优时间段
笔记·算法
逝雪Yuki2 小时前
数据结构与算法——字典(前缀)树的实现
数据结构·c++·字典树·前缀树·左程云
技术思考者2 小时前
Leetcode - 反转字符串
数据结构·算法·leetcode
卷卷的小趴菜学编程2 小时前
Qt-----初识
开发语言·c++·qt·sdk·qt介绍
程序员编程指南3 小时前
Qt 开发 IDE 插件开发指南
c语言·c++·ide·qt·elasticsearch