算法笔记.求约数

代码实现:

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

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

相关推荐
努力学习的小廉6 分钟前
深入了解linux系统—— 线程同步
linux·服务器·数据库·算法
数据爬坡ing9 分钟前
从挑西瓜到树回归:用生活智慧理解机器学习算法
数据结构·深度学习·算法·决策树·机器学习
luoganttcc10 分钟前
小鹏汽车 vla 算法最新进展和模型结构细节
人工智能·算法·汽车
岑梓铭31 分钟前
考研408《计算机组成原理》复习笔记,第六章(1)——总线概念
笔记·考研·408·计算机组成原理·计组
Suckerbin42 分钟前
digitalworld.local: TORMENT
笔记·安全·web安全·网络安全
骄傲的心别枯萎43 分钟前
RV1126 NO.16:通过多线程同时获取H264和H265码流
linux·c++·音视频·rv1126
落羽的落羽1 小时前
【C++】特别的程序错误处理方式——异常机制
开发语言·c++
空山新雨(大队长)1 小时前
C 语言第一课:hello word c
c++·c·exe
春蕾夏荷_7282977251 小时前
c++ 第三方库与个人封装库
c++·三方库
凯尔萨厮1 小时前
Java学习笔记三(封装)
java·笔记·学习