【每日一题】Find The Multiple

Find The Multiple

题意

已知一个数n,找到它的倍数m,要求m只有1和0组成。输出m的值

题解:

BFS搜索出一个类似的二叉树,每次10或10+1,找到每个数的结果,然后打表,最后写另一个程序输出

个人问题:

首先这个题可以打表,其次这个题有除了打表以外的其他方法,和余数有关,后续可能会补充出来

代码:
///Find The Multiple
#include<iostream>
using namespace std;
long long ans[201] = {1,10,111,100,100,1110,1001,10000,
111111111,100000,
100001,101100,101101,
110110,111000,100000,100011,1111111110,1001110,
1010000,1010100,1011010,
1011011,1101000,1101000,1101100,1101111111,1110011000,
1110110111,1110111000,
1111000010,1111100000,1111100001,1111100110,1111101110,
11111111100,11111111100,
10011100,10101000,10101000,10111010,11000010,11011010,
11100100,10111111110,11000000010,11000100101,11001000000,
11001110001,11001110100,11001111111,11011000000,11011000001,
11011111110,11100000010,11100110000,11110001100,11110100100,
11111100011,11111111100,1000101100,1010011000,1111011111,1000000,
1001000,1111110,
100000001110,100001111100,100010000010,100010001000,
100010110100,111111111000,100010000,100011000,100011000,100111000,100111011,
101010000,
101010111,101100000,100111110111,101000101100,101010101110,101011010100,
101011110000,
101101001010,101110010001,101111010000,101111111011,101111111100,
101111111101,110000000100,110000000100,110001001010,110001011100,110010000000,
110011101111,110100011000,111111111111111111,100000000,
100000100,100011000,111000010,111111000,111111000,
100000001000100,100000001101101,100010111111100,
100011101010001,100011101101010,100011101110011,100011110010000,
100011110110010,100011111011010,100011111110100,100100001101100,
100100101111101,100100110000100,100101000100010,100101000111000,
100101001000000,
100101001001010,100110001111011,
100110011110100,100110011111000,100110101110110,100110111010010,
10000000,100111010101101,100100,101001,100111011000000,100111011010101,
100111100110010,100111100111010,100111101100000,100111110110000,
101000001101100,101000011101100,101000100000100,101001001010100,
101001001110110,101001001111010,101011111110000,101111110,110011000,
111100101,111111000,110111,111000,
101100000101010,101100001110000,101100001111011,101100010011000,
101100010110010,101100100101000,101100100110110,101100101100010,
100011000,100100000,101100111,101101001011110,101101001101011,101101011001100,
11011110,101101100000110,101101101110010,101110000110000,101110010010100,
101110010101000,
101110010110101,101110011101000,101110111110111,101111000000100,101111000011000,
101111000100000,
101111010011010,101111111010110,110000010100110,110000111111100,110001000110100,
110001001110000,110001010100001,110001011111000,110001011111100,110001100011000,
110001100011110,110001100100100,110001100110111,110001100111010,110001100111010,
110001111000000,110001111010001,110001111110100,110010000110010,110010010000100,
110010011011101,1111111111111111110,1100010111,1100011000};
int main(){
    int n;
    while(cin>>n){
        if(n==0)
            break;
        cout<<ans[n-1]<<endl;
    }
    return 0;
}
写在最后:

推荐两篇博客个人关于搜索的总结关于这个题一位同学的题解

发布了41 篇原创文章 · 获赞 16 · 访问量 1462

猜你喜欢

转载自blog.csdn.net/weixin_43824551/article/details/104578447
今日推荐