ft,又是个通不过的题目(zju)
还是zju在线测试上的:
http://acm.zju.edu.cn/show_problem.php?pid=1537
大意是:
给你一个数n,要求给出最小的只有一个数字组成的n的倍数m.
比如,n=37,37*3=111,则要求输出:"1 3",第一个输出数字是组成m
的数字,第二个是m的位数.
如果有多个答案,先保证数字最小,再保证位数最小.
我自己的几个测试数据都过了,但是提交总是错,兄弟们给看看?
#include <iostream.h>
int main()
{
int k;
while (cin>>k)
{
if (k==0)
{
cout<<0<<" "<<0<<endl;
continue;
}
int mm=0,i,sum=0,j=0;
for (i=1;i<10;i++)
{
mm=mm*10+i;
j=j+1;
while ((mm%k!=0)&&(j<9))
{
mm=mm*10+i;
j=j+1;
}
if (mm%k==0)
break;
else
{
mm=0;
j=0;
}
}
if ((i==10)&&(j==0))
cout<<-1<<endl;
else
cout<<i<<" "<<j<<endl;
}
return 0;
}