第一开始用暴力错了
#include <iostream>
#include<cstring>
using namespace std;
int a[100000]={0},A[100000]={0};
bool cf(int b,int k,int l)
{
int i;
int t=0;
for(i=0;i<l-1;i++)
{
A[i]=a[i]*k+t;
t=A[i]/b;
A[i]%=b;
}
A[l-1]=t+a[l-1]*k;
if(A[l-1]==a[0])
return 1;
a[l]=A[l-1]%b;
return 0;
}
int main()
{
int b,k;
while(cin>>b>>a[0]>>k)
{
int i;
A[0]=a[0];
for(i=1;;i++)
{
if(cf(b,k,i))
{
cout<<i<<endl;
break;
}
}
memset(a,0,sizeof(a));
}
return 0;
}
然后百度了一个代码
没有用到数组用了变量(jinwei);
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a,b,c;
while(cin>>a>>b>>c)
{
int jinwei=0;
int i,temp=b,temp1;
for(i=1;;i++)
{
if((b*c+jinwei)!=temp)
{
temp1=jinwei;
jiwei=(b*c+jinwei)/a;
b=(b*c+temp1)%a;
}
else
{
cout<<i<<endl;
break;
}
}
}
return 0;
}