zoukankan      html  css  js  c++  java
  • 暑期第一弹<搜索> E

    E - Find The Multiple
    Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u
    Submit Status

    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

    2
    6
    19
    0

     

    Sample Output

    10
    100100100100100100
    111111111111111111

    题意:给出一个数n,然后求得一个数字k,数字满足:能被n整除,每一位只有0,1。这样的数字k会有很多个,然以输出一个就可以。

    思路:n的最大值为200,用dfs从数字k的个位开始往高位搜索,每一位只有0或1。找到能被n整除的时候输出就可以了。

    ps:(一开始不知道到底应该搜到多少位时可以return,后来看到网上说最多到19位就可以)

    代码如下:

     

    #include <iostream>
    using namespace std;
    
    int n,flag;
    void dfs(int k,long long cur){      //k:位数 cur:当前数字
        if(k == 19 || flag) return ;
    
        if(cur%n == 0){
            cout<<cur<<endl;
            flag = 1;
            return ;
        }
        dfs(k+1,cur*10);        //高位为 0
        dfs(k+1,cur*10+1);      //高位为 1
    }
    int main()
    {
        while(cin>>n,n != 0){
            flag = 0;
            dfs(0,1);       
        }
        return 0;
    }
    


     

  • 相关阅读:
    谷歌控制台的使用
    等比例居中
    display:block、inline、inline-block的区别及应用案例
    省市县三级联动逻辑
    页面滑动至某处,固定导航。
    类加载器在Tomcat中的应用
    MySQL中一些关于索引的知识点
    Spring中AOP相关源码解析
    Spring中Bean的实例化与DI的过程
    我该如何学习spring源码以及解析bean定义的注册
  • 原文地址:https://www.cnblogs.com/Jstyle-continue/p/6351939.html
Copyright © 2011-2022 走看看