#include<iostream>
#include<map>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n[35],i,j,k,b,dec,s,p;
char num[35];
//freopen("in.txt","r",stdin);
while(gets(num))
{
b=0;
for(i=0;num[i];i++)
{
n[i]=num[i]-48;
if(n[i]>b)b=n[i];
}
if(!b)break;
b++;
for(j=b;j<=100;j++)
{
dec=0,p=1;
for(k=i-1;k>=0;k--)
{
dec=dec+n[k]*p;
p=p*j;
}
s=sqrt(dec)+0.5;
if(s*s==dec)
break;
}
printf("%d\n",j);
}
return 0;
}
#include<map>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n[35],i,j,k,b,dec,s,p;
char num[35];
//freopen("in.txt","r",stdin);
while(gets(num))
{
b=0;
for(i=0;num[i];i++)
{
n[i]=num[i]-48;
if(n[i]>b)b=n[i];
}
if(!b)break;
b++;
for(j=b;j<=100;j++)
{
dec=0,p=1;
for(k=i-1;k>=0;k--)
{
dec=dec+n[k]*p;
p=p*j;
}
s=sqrt(dec)+0.5;
if(s*s==dec)
break;
}
printf("%d\n",j);
}
return 0;
}
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.