算法笔记.求约数

代码实现:

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;
}

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

相关推荐
不染尘.13 小时前
2025_11_7_刷题
开发语言·c++·vscode·算法
似水এ᭄往昔13 小时前
【C++】--stack和queue
开发语言·c++
仰望—星空14 小时前
MiniEngine学习笔记 : CommandListManager
c++·windows·笔记·学习·cg·direct3d
下午见。14 小时前
C语言结构体入门:定义、访问与传参全解析
c语言·笔记·学习
来荔枝一大筐14 小时前
力扣 寻找两个正序数组的中位数
算法
im_AMBER14 小时前
React 16
前端·笔记·学习·react.js·前端框架
算法与编程之美14 小时前
理解Java finalize函数
java·开发语言·jvm·算法
怕什么真理无穷15 小时前
C++面试4-线程同步
java·c++·面试
lkbhua莱克瓦2415 小时前
Java基础——常用算法5
java·开发语言·笔记·github
地平线开发者15 小时前
LLM 训练基础概念与流程简介
算法·自动驾驶