求光棍数的,当被除数大于50左右就无法输出正确结果了,这要怎么办
#include <stdio.h>
#include <math.h>
int main (void)
{
long long int s=0,m;
long long int x=1;
scanf("%lld",&m);
while(1)
{
x=x*10+1;
if(x%m==0)
{
s=x/m;break;
}
}
long long int c=1;
int n=0;
while(x/c>0)
{
c=c*10;n++;
}
printf("%lld %d",s,n);
return 0;
}