思路:模拟一个除法的过程
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
int i,j,k,n,m;
int x=0,flag=0;
cin>>n;
for (i=1;; i++)
{
x=x*10+1;
/*x需要先大于n,才能和n开始相除,然后在除的过程中万一x小于n了,就可以这一位补零,向后走一位继续运算,所以用到flag,不然的话万一前几位不够n,就会出现给出的答案前几项全是0*/
if (x>=n)
{
flag=1;
//从高位到低位与n相除,过程自己拿笔算个除法就知道了
printf("%d",x/n);
}
else if(flag==1)
printf("0");
//在进行除法运算的过程中被除数小于除数,此位置放0,再向后增加一位
x=x%n;//
if (x==0)
break;
}
printf(" %d",i);
return 0;
}