给你两个数,k,m,使m^n次方的第k位是7,求最小的n
zoj操作界面真无语。
#include<stdio.h>
#include<string.h>
int main()
{
int k,m,i;
int a[1005];
while(~scanf("%d%d",&k,&m))
{
memset(a,0,sizeof(a));
a[0]=1;
int ans=1;
for(i=0;i<=1002;i++)
a[i]=a[i]*m;
for(i=0;i<1002;i++)
if(a[i]>9)
{
a[i+1]=a[i]/10;
a[i]%=10;
}
while(1)
{
if(a[k-1]==7)
{
printf("%d\n",ans);
break;
}
i=1002;
while(a[i]==0) i--;
// for(int j=i;j>=0;j--)
// printf("%d",a[j]);
// printf("\n");
ans++;
for(i=0;i<=1002;i++)
a[i]=a[i]*m;
for(i=0;i<1002;i++)
if(a[i]>9)
{
a[i+1]+=a[i]/10;
a[i]%=10;
}
}
}
return 0;
}