1 条题解

  • 0
    @ 2024-12-24 9:59:29

    C++ :

    #include<stdio.h>
    #include<string.h>
    int d[101];
    int ok;
    int aa,bb;
    void change(int *x,int *y)
    {
    	int xx;
    	if (*x<*y) 
    	{
    		xx=*x;
    		*x=*y;
    		*y=xx;
    	}
    }
    void ff(int a,int b,int n)
    {
    	if (b==1)
    	{
    		if (a==1) aa=1;
    		bb=1;
    	}
    	if (n>100||(aa==1&&bb==1)) return;
    	if (b%n==0)  ff(a,b/n,n+1);
    	if (a%n==0) ff(a/n,b,n+1);
    	ff(a,b,n+1);
    }
    int main()
    {
    	int a,b;
    	while(scanf("%d%d",&a,&b)!=EOF)
    	{
    		memset(d,0,sizeof(d));
    		change(&a,&b);
    		aa=bb=0;
    		ff(a,b,2);    
    		if (aa==1) printf("%d\n",a);
    		else if (bb==1) printf("%d\n",b);
    		else printf("%d\n",a);
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    1595
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者