Ural 1071. Nikifor 2 解题报告

水题。
从k=2开始枚举,一直枚举到x。

#include<iostream>
#include<cstdio>
using  namespace std;


bool comp( int x, int y, int k)
{
         int temp1,temp2;
         while(y!=0)
        {
            temp1=y%k;
            y/=k;
             while(x!=0)
            {
                temp2=x%k;
                 if(temp1==temp2)
                 break;
                x/=k;
            }
             if(x==0)  return  false;
            x/=k;
        }

         return  true;
}


int main()
{
         int x,y;
        scanf("%d %d",&x,&y);
         int k=2;
         for(;k<=x;k++)
        {
             if(comp(x,y,k))  break;
        }
         if(k>x) printf("No solution\n");
         else printf("%d\n",k);
         return 0;
}

你可能感兴趣的:(Ural 1071. Nikifor 2 解题报告)