给定一个正整数n,请编写一个程序来寻找n的一个非零的倍数m,这个m应当在十进制表示时每一位上只包含0或者1。你可以假定n不大于200且m不多于100位。 提示:本题采用Special Judge,你无需输出所有符合条件的m,你只需要输出任一符合条件的m即可。
Input
输入包含多组数据,每组数据仅一行,只包含一个正整数n (1 <= n <= 200).
Output
对于输入的每组n,都输出任一符合条件的m。即使有多个符合条件的m,你也只需要输出一个即可。
Sample Input
2 6 19 0
Sample Output
10 100100100100100100 111111111111111111
题目描述:
扫描二维码关注公众号,回复:
8564606 查看本文章
求出任何一个只包含0和1的十进制数,这个数要是给定n的倍数。
分析:
给出的n在200内,答案可以用long long 装下。是bfs的暴搜题。
(注意每次用q=queue<long long>()清空队列。)
代码:
#include<iostream> #include<queue> using namespace std; typedef long long ll; int main() { int n; queue<ll> q; while(1) { cin>>n; if(n==0) break; q=queue<ll>(); ll p=1; while(p%n!=0) { q.push(p*10); q.push(p*10+1); p=q.front(); q.pop(); } cout<<p<<'\n'; } return 0; }