Fellow me on GitHub

POJ1426(KB1-E 暴力搜索)

Find The Multiple

 

Description

Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there is a corresponding m containing no more than 100 decimal digits.

Input

The input file may contain multiple test cases. Each line contains a value of n (1 <= n <= 200). A line containing a zero terminates the input.

Output

For each value of n in the input print a line containing the corresponding value of m. The decimal representation of m must not contain more than 100 digits. If there are multiple solutions for a given value of n, any one of them is acceptable.

Sample Input

2
6
19
0

Sample Output

10
100100100100100100
111111111111111111

Source

 
 1 //2017-02-23
 2 #include <iostream>
 3 #include <cstdio>
 4 #include <cstring>
 5 
 6 using namespace std;
 7 
 8 int ans[110], n;
 9 bool ok;
10 
11 void dfs(unsigned long long num, int pos)
12 {
13     if(ok || pos == 20)return;
14     if(num%n==0){
15         cout<<num<<endl;
16         ok = true;
17         return;
18     }else{
19         dfs(num*10, pos+1);
20         dfs(num*10+1, pos+1);
21     }
22 }
23 
24 int main()
25 {
26     while(cin>>n && n)
27     {
28         ok = false;
29         dfs(1, 0);    
30     }
31 
32     return 0;
33 }

 

posted @ 2017-02-23 16:49  Penn000  阅读(211)  评论(0编辑  收藏  举报