找倍数

来源:互联网 发布:冰箱门封条价格淘宝 编辑:程序博客网 时间:2024/04/28 20:37

描述

对于每个输入的数字(如:2),则要求 给出一个由1,0构成的十进制整数,且该整数为输入数字的某个倍数,且是满足该条件的最小数(如2对应的10)。

输入

数字n,n等于0时停止。

输出

n的一个满足条件的最小倍数。

输入样例

2
0

输出样例

10

#include <iostream>#include <queue>#include <cstdio>using namespace std;long long bfs(int n){    queue<long long> P,Q;    Q.push(1);    long long now;    while(!Q.empty()){        now = Q.front();        if(now%n==0) return now;        Q.push(now*10);        Q.push(now*10+1);        Q.pop();    }}int main(){    int num;    while(scanf("%d",&num)!=EOF){        if(!num) break;        printf("%lld\n",bfs(num));    }    return 0;}
0 0
原创粉丝点击