acwing——869. 试除法求约数

该博客介绍了如何使用试除法找到正整数的约数。针对acwing的869题,博主给出了解题思路和试除法的求约数模板,并提供了输入输出样例。通过从1开始遍历,判断每个数是否为给定整数的因数,来找出所有约数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

869. 试除法求约数

给定n个正整数ai,对于每个整数ai,请你按照从小到大的顺序输出它的所有约数。

输入格式
第一行包含整数n。

接下来n行,每行包含一个整数ai。

输出格式
输出共n行,其中第 i 行输出第 i 个整数ai的所有约数。

数据范围
1≤n≤100,
2≤ai≤2∗109
输入样例:
2
6
8
输出样例:
1 2 3 6
1 2 4 8

解题思路:

直接从1开始遍历,如果 i 是否能被 n 整除,能整除的话,i 就是 n 的约数,然后将 i 和 n / i 加入到数组中,注意如果 n 是 平方数的话,就不要重复添加。

试除法求约数模板:

vector<int> get_divisors(int x)
{
   
   
    vector<int> res;
    for (int i = 1; i <= x / i; i ++ )
        if (x % i == 0)
        {
   
   
            res.<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suxiaorui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值