【Java每日一题,dfs】Find The Multiple

简介: 【Java每日一题,dfs】Find The Multiple

Introduction

在2100年科学家发现了平行宇宙,但是新发现的Earth2的世界中所有数字都是由0和1组成的十进制数,如果从我们的世界穿越到Earth2,数字将发生一些变化,例如:一个正整数n,将被转化为n的一个非零的倍数m,这个m应当符合Earth2的数字规则。你可以假定n不大于200且m不多于100位。

提示:本题采用Special Judge,你无需输出所有符合条件的m,你只需要输出任一符合条件的m即可


Input

输入包含多组数据,每组数据仅一行,只包含一个正整数n,n==0时输入结束 (1 <= n <= 200).


Output

对于输入的每组n,都输出任一符合条件的m。即使有多个符合条件的m,你也只需要输出一个即可。

(已知long long范围内存在表示数据中所有的m


Sample

input

2
6
19
0

output

10
100100100100100100
111111111111111111

Solution

import java.util.LinkedList;
import java.util.Scanner;
public class Main {
    static int k;
    static boolean flag;
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        while (true){
             k=s.nextInt();
            if(k==0)break;
            flag=false;
            dfs(1);
        }
    }
    static void dfs(long n){
        if(String.valueOf(n).length()>19||flag){
            return;
        }
        if(n%k==0){
            flag=true;
            System.out.println(n);
            return;
        }
        dfs(n*10);
        dfs(n*10+1);
    }
}

Experience

!!!为什么用dfs。开始觉得bfs肯定是比dfs要好的,但是有的数字的结果长度达到十几位,导致queue里面的变量个数达到2的十几次方。于是内存不够。

dfs能够用时间换空间,在一定长度的数字下,肯定能找到结果的。

相关文章
|
9月前
|
Java
【Java每日一题,dfs】矩阵查找字符串
【Java每日一题,dfs】矩阵查找字符串
|
9月前
|
机器学习/深度学习 Java
【Java每日一题,dfs】洛谷P1162 填涂颜色
【Java每日一题,dfs】洛谷P1162 填涂颜色
|
9月前
|
机器学习/深度学习 Java
【Java每日一题,深度搜索dfs】棋盘问题
【Java每日一题,深度搜索dfs】棋盘问题
|
9月前
|
Java
【Java每日一题,dfs】挖出最大财宝
【Java每日一题,dfs】挖出最大财宝
|
21天前
|
数据采集 算法 Java
DFS(深度搜索)无向图遍历(JAVA手把手深入解析)
DFS(深度搜索)无向图遍历(JAVA手把手深入解析)
48 0
|
9月前
|
机器学习/深度学习 Java
【Java每日一题,dfs】[USACO1.5]八皇后 Checker Challenge
【Java每日一题,dfs】[USACO1.5]八皇后 Checker Challenge
|
9月前
|
Java
【Java每日一题,dfs】哈密顿绕行世界问题
【Java每日一题,dfs】哈密顿绕行世界问题
|
12月前
|
Java
数据结构(11)图的遍历,DFS、BFS的JAVA实现
11.1.图的遍历 图的遍历,即将图内所有顶点都访问一遍。 有两种遍历方式: BFS DFS 以下图的遍历为例:
62 0
|
人工智能 Java BI
力扣207:课程表(Java拓扑排序:bfs+dfs)
力扣207:课程表(Java拓扑排序:bfs+dfs)
104 0
力扣200:岛屿数量(Java dfs+bfs)
给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。