算法笔记.求约数

代码实现:

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

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

相关推荐
五花就是菜19 小时前
P12906 [NERC 2020] Guide 题解
算法·深度优先·图论
辞旧 lekkk19 小时前
【c++】封装红黑树实现mymap和myset
c++·学习·算法·萌新
星轨初途19 小时前
C++的输入输出(上)(算法竞赛类)
开发语言·c++·经验分享·笔记·算法
n***F87519 小时前
SpringMVC 请求参数接收
前端·javascript·算法
Liangwei Lin19 小时前
洛谷 P1025 [NOIP 2001 提高组] 数的划分
算法
极地星光19 小时前
Qt/C++ 单例模式深度解析:饿汉式与懒汉式实战指南
c++·qt·单例模式
yuuki23323320 小时前
【C++】类和对象(上)
c++·后端·算法
再睡一夏就好20 小时前
string.h头文件中strcpy、memset等常见函数的使用介绍与模拟实现
c语言·c++·笔记·string·内存函数·strcpy
dangdang___go20 小时前
动态内存管理||malloc和free.realloc和calloc
c语言·开发语言·算法·动态内存管理
('-')20 小时前
《从根上理解MySQL是怎样运行的》第十三章笔记
数据库·笔记·mysql