• poj 1426 Find The Multiple 搜索进阶-暑假集训


    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

    #include<iostream>
    #include<algorithm>
    #include<stdio.h>
    using namespace std;

    int n, flag;void DFS(unsigned long long result, int n, int digit);//result是我们最后要求的结果是n的倍数,n是读入的数据,digit是result的位数;unsigned long long result=1844674473709551616LL,其实就是一个大数,因为本题说只要任意一组数据就行,所以要对数的大小进行一个限制。此程序限制就是19位,

    int main()
    {
    while(cin >> n, n)
    {
    flag=0;
    DFS(1, n, 0);//因为任何一个由0和1构成的数据开头都为1,且位数是从零开始的;
    }
    return 0;
    }
    void DFS(unsigned long long result, int n, int digit)
    {
    if(flag==1)return;//这是代表着找到第一个由0和1构成的是n的倍数的result,是为了防止无限递归,因为有很多result;
    if(result%n==0)
    {
    flag=1;
    printf("%I64u ", result);
    return;
    }
    if(digit==19)//因为unsigned long long 是19位
    return;
    //搜索的两个方向,result的后一位可能是0也可能是1
    DFS(result*10, n, digit+1);//后一位是0
    DFS(result*10+1, n, digit+1);//后一位是1
    }

  • 相关阅读:
    Mysql 从库的备份中恢复一张表
    my.cnf 配置文件参数解释
    利用mvn deploy命令上传包(转)
    IntelliJ IDEA 项目文件旁边都有0%classes,0% lines covered
    idea启动java Maven项目,出现" java: 程序包xxxx不存在"
    org/apache/poi/POIXMLTypeLoader或者java.lang.NoSuchFieldError: RETURN_NULL_AND_BLANK
    elasticsearch,kibana,logstash.下载
    idea显示 RunDashboard ,多个启动项时列表显示
    写for循环快捷生成方式
    Could not transfer artifact xxx from/to xxx解决方案
  • 原文地址:https://www.cnblogs.com/wazqWAZQ1/p/4653593.html
Copyright © 2020-2023  润新知