博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj1426_kuagnbin带你飞专题一
阅读量:4519 次
发布时间:2019-06-08

本文共 3992 字,大约阅读时间需要 13 分钟。

Find The Multiple
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 30659   Accepted: 12755   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

26190

Sample Output

10100100100100100100111111111111111111

Source

打表。。。
1 #include 
2 #include
3 #include
4 #include
5 6 using namespace std; 7 8 struct node{ 9 int mod;10 char str[40];11 int cou;12 };13 14 char ans[205][20];15 int i;16 17 void bfs(int n){18 queue
que;19 node t;20 t.mod=1;21 t.cou=0;22 t.str[t.cou++]='1';23 24 que.push(t);25 while(!que.empty()){26 node now=que.front();27 que.pop();28 if(now.mod%n==0){29 now.str[now.cou]='\0';30 //strcpy(ans[i],now.str);31 printf("%s,",now.str);32 return ;33 }34 node next=now;35 next.mod=(now.mod*10)%n;36 next.str[next.cou++]='0';37 que.push(next);38 next.mod=(now.mod*10+1)%n;39 next.str[next.cou-1]='1';40 que.push(next);41 }42 }43 44 int main()45 {46 int n;47 for(i=1;i<=200;i++){48 bfs(i);49 }50 51 52 while(scanf("%d",&n)&&n!=0){53 printf("%s\n",ans[n]);54 }55 return 0;56 }
View Code
1 #include 
2 #include
3 #include
4 #include
5 6 using namespace std; 7 8 long long a[220]={
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}; 9 int main()10 {11 int n;12 while(scanf("%d",&n)&&n!=0){13 printf("%lld\n",a[n]);14 }15 16 return 0;17 }
View Code

 

 

转载于:https://www.cnblogs.com/TWS-YIFEI/p/6711381.html

你可能感兴趣的文章
Airplace平台
查看>>
TinyOS实例介绍
查看>>
15个nosql数据库
查看>>
css hack 尽我所见
查看>>
[转]ORACLE联机日志文件无故全部消失
查看>>
Javascript基础学习12问(四)
查看>>
[原]VS2012入门图文教程——第一个程序Hello World
查看>>
#pragma once 与 #ifndef 解析(转载)
查看>>
swift 数据存储
查看>>
Objective-C内存管理教程和原理剖析(三)
查看>>
最大子数组
查看>>
pyton random 模块
查看>>
.bat以管理员身份运行
查看>>
如何用3升和5升桶量取4升水?
查看>>
部署kubernetes1.8.3高可用集群
查看>>
1017
查看>>
C++中数字和字符串的转换
查看>>
eclipse -- git 提示
查看>>
C#调用exe工作目录
查看>>
类实例化(new)
查看>>