算法笔记.求约数

代码实现:

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

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

相关推荐
Demons_kirit22 分钟前
LeetCode 1007. 行相等的最少多米诺旋转 题解
算法·leetcode·职场和发展
n33(NK)28 分钟前
【算法基础】插入排序算法 - JAVA
java·数据结构·算法·排序算法
YuforiaCode39 分钟前
第十六届蓝桥杯 2025 C/C++组 密密摆放
c语言·c++·蓝桥杯
Echo``1 小时前
13:图像处理—畸变矫正详解
图像处理·人工智能·数码相机·算法·计算机视觉·视觉检测
EanoJiang1 小时前
排序
算法
潇-xiao1 小时前
Qt实现 hello world + 内存泄漏(5)
c++·qt
science怪兽1 小时前
【进阶】C# 委托(Delegate)知识点总结归纳
开发语言·笔记·c#
智驾2 小时前
C++,设计模式,【建造者模式】
c++·设计模式·建造者模式
Invinciblenuonuo2 小时前
实习技能记录【4】-----消息分发中的观察者模型
c++
Chandler242 小时前
LeetCode:DP-回文串问题
算法·leetcode·动态规划