poj解题报告——1426

来源:互联网 发布:木马源码 编辑:程序博客网 时间:2024/06/10 10:33

        题目大意,给出一个整数n,(1 <= n <= 200)。求出任意一个它的倍数m,要求m必须只由十进制的'0'或'1'组成。

代码如下

#include<stdio.h>
#define N 200
#define M 100
int n;
__int64 que[9999999];
void bfs()
{
    __int64 now;
    int head=1,tail=1;
    que[tail++]=1;
    while(head<tail)
    {
        now=que[head++];
        if(now%n==0)
        {
            printf("%I64d\n",now);
            return;
        }
        que[tail++]=now*10;
        que[tail++]=now*10+1;
    }
}
void main()
{
    while(scanf("%d",&n),n!=0)
    {
        bfs();
    }
}


0 0
原创粉丝点击