POJ1426 Find The Multiple
来源:互联网 发布:神话打电话软件 编辑:程序博客网 时间:2024/06/08 13:14
POJ1426 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,然后让你求n的倍数m,而且这个m的十进制只能由0,1组成,任意输出一个满足条件的m。
思路
暴力dfs从m的低位向高位找,每个位置上不是0就是1,m初始为1,如果可以被n整除则输出,否则m*10,m*10+1,继续找。m可能会很大,用unsigned long long 来定义m。
下面是代码
#include <iostream> #include <cstdio>#include <cstdlib>#include <cmath>#include <fstream>#include <algorithm>#include <climits>#include <cstring>#include <string>#include <set>#include <queue>#include <stack>#include <vector>#include <list>#include<sstream>#include<ctime>using namespace std;int flag,n; void dfs(unsigned long long int s,int f){ if(flag==1) //如果已经找到,结束 return; if(s%n==0) //如果能被你整除 { cout<<s<<endl; //输出结果,flag标记为1,结束 flag=1; return ; } if(f>19) return ; // 搜到第19位即可 dfs(s*10,f+1); dfs(s*10+1,f+1);}int main() { while(1) { flag=0; cin>>n; if(n==0) return 0; dfs(1,1); } }
- 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
- 自定义View
- 《MySQL高效编程》学习笔记--基础篇
- JavaSE_16th_常用类——String类常用方法
- CentOS7developer
- ContentProvider(内容提供者)与ContentResolver(内容访问者)
- POJ1426 Find The Multiple
- Cannot change version of project facet Dynamic Web Module to 2.4的原因和解决方法
- C语言------如何实现字符串数组和整形数组在终端上任意输
- HDU4001-To Miss Our Children Time
- 面试题-华为-数组去重与排序-2
- python中zip函数的使用方法
- URAL - 2080 Wallet 树状数组+last数组
- Android的休眠唤醒机制wake_lock机制
- HTML标签之链接标签