B - Divples Gym - 102302B

题目链接:Gym-102302B

(试除法)

#include 
#include
using namespace std;
const long long int maxx=1e6+10;
int main()
{
    long long int q[maxx];
    long long int a,b;
    cin>>a>>b;
    long long int top=0;
    long long int w=sqrt(a);
    for(long long int i=1; i<=w; i++)
    {
        if(a%i==0)
        {
            if(i>=b&&i%b==0)
            {
                q[top++]=i;
            }
            long long int x=a/i;
            if(x!=i&&x%b==0&&x>=b)
            {
                q[top++]=x;
            }
        }
    }
    sort(q,q+top);
    for(int i=0; i

你可能感兴趣的:(试触发)