强数据版本(大佬写):
#include<stdio.h>
int a[50];
long long int f(int n)
{
long long int temp=0;
int c=0;
do
{
a[c++]=n&1;
}while(n>>=1);
while(c)
temp=temp*10+a[--c];
return temp;
}
int main()
{
int n;
while(scanf("%d",&n)==1)
{
int i;
for(i=1;1;++i)
if(f(i)%n==0)
break;
printf("%lld\n",f(i));
}
return 0;
}
弱数据版本(自己写):
#include <stdio.h>
int main()
{
int n,i,a,flag,m;
while(scanf("%d",&n)!=EOF)
{
for(i=1,m=n;i>0;i++,m=n*i)
{
a=m;
while(a!=0)
{
if(a%10!=0&&a%10!=1)
{
flag=0;break;
}
else
{
flag=1;
a=a/10;
}
}
if(flag)
{
printf("%d\n",m);
break;
}
}
}
return 0;
}
不知道这两个有什么区别~ 等弄懂了 再补充