POJ 1426
发布日期:2021-06-30 15:31:13 浏览次数:2 分类:技术文章

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

Find The Multiple

Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 43294   Accepted: 18175   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

大致题意:

给你一个n,让你算出一个每一位数都是1或0的n的倍数。

代码:

#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;bool ok;void DFS(int a,unsigned long long b, int k){ if (ok) { return; } if (b % a == 0) { ok = 1; cout << b << endl; return; } if (k == 19) return;//到了19层就回溯回去,走另一条路 DFS (a, b * 10, k + 1);//b有两种方式可以获取,一个是b*10,一个是b*10+1 DFS (a, b * 10 + 1, k + 1);}int main(){ int n; while (cin>>n) { if (n == 0) break;//别忘了终止条件 ok = false; DFS (n, 1, 0); } return 0;}

 

转载地址:https://joycez.blog.csdn.net/article/details/83350690 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:POJ 2251
下一篇:POJ 1321

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月14日 06时46分23秒