| Time Limit: 1000MS | Memory Limit: 10000K | |||
| Total Submissions: 20297 | Accepted: 8236 | Special Judge | ||
Description
Input
Output
Sample Input
2 6 19 0
Sample Output
10 100100100100100100 111111111111111111
#include <iostream>
#include <stdio.h>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#define N 1000009
#define ll __int64
using namespace std;
int n;
int flag;
void dfs(unsigned ll x,int k)//注意使用无符号64位整数
{
    if(flag) return;
    if(x%n==0)
    {
       printf("%I64u\n",x);
        flag=1;
        return;
    }
    if(k==19) return;//最大19位
    dfs(x*10,k+1);
    dfs(x*10+1,k+1);
}
int main()
{
    while(~scanf("%d",&n))
    {
        if(n==0) break;
        flag=0;
        dfs(1,0);
    }
    return 0;
}
原文:http://blog.csdn.net/wust_zjx/article/details/45772217