Poj 1426 Find The Multiple 【DFS】
2015-04-12 19:22
375 查看
Find The Multiple
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 19815 Accepted: 8048 Special Judge
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
Dhaka 2002
题意:输入一个n,找出一个是由0,1组成的并且是n的整数倍的数。
用usigned long long 就可以。
代码:
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 19815 Accepted: 8048 Special Judge
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
Dhaka 2002
题意:输入一个n,找出一个是由0,1组成的并且是n的整数倍的数。
用usigned long long 就可以。
代码:
#include <cstdio> #include <iostream> #include <cstring> #define LL unsigned long long using namespace std; bool flag; LL n; void dfs(LL cur, int step){ if(flag|| step == 19) return ; if(cur%n == 0){ printf("%llu\n", cur); //cout << cur<<endl; flag = 1; return ; } dfs(cur*10, step+1); dfs(cur*10+1, step+1); } int main(){ LL s = 1; while(scanf("%llu", &n), n){ flag = 0; dfs(s, 0); } return 0; }
相关文章推荐
- POJ 1426 Find The Multiple (DFS + 构造)
- POJ 1426 Find The Multiple(dfs)
- POJ ~ 1426 ~ Find The Multiple(DFS)
- POJ - 1426 Find The Multiple (暴力DFS)
- Find The Multiple (dfs)POJ - 1426
- POJ 1426 Find The Multiple (DFS)
- 文章标题 POJ 1426 :Find The Multiple (dfs)
- POJ1426 Find The Multiple (BFS | DFS)
- POJ-1426-Find The Multiple(BFS DFS)
- Poj 1426--Find The Multiple(bfs或dfs)
- POJ - 1426 - Find The Multiple (DFS)
- 【DFS】poj 1426 Find The Multiple
- poj 1426 Find The Multiple(dfs || 二进制枚举)
- poj 1426 Find The Multiple(DFS)
- POJ 1426 Find The Multiple(dfs)
- POJ 1426 Find The Multiple (dfs)
- POJ1426——DFS——Find The Multiple
- POJ 1426 Find The Multiple(dfs)
- POJ 1426 Find The Multiple --- BFS || DFS
- poj 1426 Find The Multiple(DFS或打表)