您的位置:首页 > 其它

zoj1889

2015-07-25 20:58 295 查看
简单题

#include <iostream>

using namespace std;

int ci = 1;
int one(int num)
{
int bai[5] = {1,10,100,1000,10000};
int m = 0;
while(1)
{
if(num/bai[m] == 0)
break;
else m++;
}
return m; //返回num的位数
}
int asone(int num,int m,int b) //让num变成比求得位数多一位的数
{
int bai[5] = {1,10,100,1000,10000};
while(1)
{
if(num/bai[m] != 0 || num%b == 0)
break;
else
{
num = num*10 + 1;
ci++;
}
}
return num;
}

int main()
{
int n,num;
while(cin >> n)
{
num = asone(1,one(n),n);
while(1)
{
if(num%n != 0)
{
num %= n;
num = asone(num,one(n),n);
}else break;
}
cout << ci << endl;
ci = 1;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: