• POJ 1246 Find The Multiple


    传送门:http://poj.org/problem?id=1426
    Find The Multiple
    Time Limit: 1000MS   Memory Limit: 10000K
    Total Submissions: 28464   Accepted: 11802   Special Judge

    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

    刚刚一开始,看到这么大数,被吓到了,想肯定是大数方面的知识,最后看了一下他们的题解,long long 能提交,但是因为边界的问题,总是错,最后看了一下他们的解题报告
     1 #include <iostream>
     2 using namespace std;
     3 
     4 bool found;
     5 
     6 void dfs(long long i,int n,int k){
     7     if(found)
     8         return ;
     9     if(k==19)
    10         return ;
    11     if(i%n==0){
    12         cout<<i<<endl;
    13         found=true;
    14     }
    15 
    16     dfs(i*10,n,k+1);
    17     dfs(i*10+1,n,k+1);
    18 
    19 }
    20 
    21 int main(){
    22 
    23     int n;
    24     while(cin>>n&&n!=0){
    25         found=false;
    26         dfs(1,n,0);
    27     }
    28 
    29 }
    自己选的路,跪着也要把它走完------ACM坑
  • 相关阅读:
    db.Exec和db.Query的区别
    golang两种get请求获取携带参数的方式
    gin实现中间件middleware
    gin操作session
    笔札-有触动的句子
    并发的基本概念
    售货员的难题
    传球游戏之最小总代价
    状压dp入门
    [COCI 2010] OGRADA
  • 原文地址:https://www.cnblogs.com/IKnowYou0/p/6180467.html
Copyright © 2020-2023  润新知