poj1426 Find The Multiple
来源:互联网 发布:微信打开浏览器是淘宝 编辑:程序博客网 时间:2024/06/07 11:18
Find The Multiple
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
题意:输入一个n,输入只包含1、0两个数字的数,这个数是n的倍数。
打表能过:
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
#include<iostream>
using namespace std;
int n;
long long a[201]={0,1,10,111,100,10,1110,1001,1000,111111111,10,11,11100,1001,10010,1110,10000,11101,1111111110,11001,100,10101,110,110101,111000,100,10010,1101111111,100100,1101101,1110,111011,100000,111111,111010,10010,11111111100,111,110010,10101,1000,11111,101010,1101101,1100,1111111110,1101010,10011,1110000,1100001,100,100011,100100,100011,11011111110,110,1001000,11001,11011010,11011111,11100,100101,1110110,1111011111,1000000,10010,1111110,1101011,1110100,10000101,10010,10011,111111111000,10001,1110,11100,1100100,1001,101010,10010011,10000,1111111101,111110,101011,1010100,111010,11011010,11010111,11000,11010101,1111111110,1001,11010100,10000011,100110,110010,11100000,11100001,11000010,111111111111111111,100,101,1000110,11100001,1001000,101010,1000110,100010011,110111111100,1001010111,110,111,10010000,1011011,110010,1101010,110110100,10101111111,110111110,100111011,111000,11011,1001010,10001100111,11101100,1000,11110111110,11010011,10000000,100100001,10010,101001,11111100,11101111,11010110,11011111110,11101000,10001,100001010,110110101,100100,10011,100110,1001,1111111110000,11011010,100010,1100001,11100,110111,11100,1110001,11001000,10111110111,10010,1110110,1010100,10101101011,100100110,100011,100000,11101111,11111111010,1010111,1111100,1111110,1010110,11111011,10101000,10111101,111010,1111011111,110110100,1011001101,110101110,100100,110000,100101111,110101010,11010111,11111111100,1001111,10010,100101,110101000,1110,100000110,1001011,1001100,1010111010111,110010,11101111,111000000,11001,111000010,101010,110000100,1101000101,1111111111111111110,111000011,1000};
/*void bfs()
{
queue<long long>q;
for(int n=1;n<201;n++)
{
q.push(1);
while(!q.empty())
{
long long it=q.front();
q.pop();
if(it%n==0)
{
cout<<it<<',';
break;
}
q.push(it*10);
q.push(it*10+1);
}
while(!q.empty())
q.pop();
}
}*/
int main()
{
while(~scanf("%d",&n)&&n)
{
printf("%I64d\n",a[n]);
}
return 0;
}
题意:找出任意一个由0和1组成的数,而且是n的倍数。unsigned __int64可以存下结果,循环深度<20;
两条搜索路径---t*10;t*10+1;
1. #include<iostream>
2. #include<cstdio>
3. #include<cstring>
4. #include<algorithm>
5. using namespace std;
6. bool vis;
7. int n;
8. void dfs(unsigned __int64 x,int n,int k){
9. if(vis) return;
10. if(x%n==0){
11. printf("%I64u\n",x);
12. vis=true;
13. return;
14. }
15. if(k==19) return;
16. dfs(x*10,n,k+1);
17. dfs(x*10+1,n,k+1);
18. }
19. int main(){
20. while(scanf("%d",&n)){
21. if(n==0) break;
22. vis=false;
23. dfs(1,n,0);
24. }
25. return 0;
26. }
- POJ1426 Find The Multiple
- poj1426 Find The Multiple
- poj1426 - Find The Multiple
- POJ1426 Find The Multiple
- POJ1426-Find The Multiple
- poj1426 Find The Multiple
- poj1426-Find The Multiple
- POJ1426 Find the multiple
- POJ1426-Find The Multiple
- POJ1426 Find The Multiple
- poj1426 Find The Multiple
- Find The Multiple poj1426
- poj1426 find the multiple
- POJ1426 - Find The Multiple
- poj1426 Find The Multiple
- poj1426 Find The Multiple
- poj1426: Find the Multiple
- POJ1426 Find The Multiple
- 后缀自动机求第k大字符串 SPOJ
- C++ this 指针
- postgresql 分表规则实时修改
- 网络工程师
- JavaScript 函数的用法
- poj1426 Find The Multiple
- Mining Your Own Business LA 5135
- poj1979 Red and Black
- 【战地王者】科幻军事题材Moba类独立游戏开发纪录
- 基于mysql主从的读写分离
- VC程序打开提示“visual sourcesafe login” 无法取消的问题
- 深度学习名词2:batch & epoches &dacay &iteration
- oracle 创建job 语句
- Dos命令