该题使用模拟手算除法可得,算一个答案输出一个
#include<stdio.h>
#include<math.h>
int main()
{
int a,b;
scanf("%d",&a);//得到需要找到光棍的数
int sum=1;int c=1;//初始化光棍数为1,同时初始计数表为1
while(sum<a)
{
sum=sum*10+1;
c++;//别忘了计数
}//如果光棍数小于a那么整除结果为0,不和题意,所以此处开始的时候待定光棍数要从大于a的数开始
printf("%d",sum/a);//算最高位结果并输出
b = sum%a;//求得余数
while(b!=0)
{
b = b*10+1;//模拟手酸添加1
c++;//计数
printf("%d",(b/a));//整除求次高位
b = b%a;//求得余数
}//当余数不为0时继续
printf(" %d",c);//注意格式输出
return 0;
}