1-9九個數字組成一個九位數,數字沒有重複。如果從左邊起取出1個數字,需要能被1整除,取出兩個數字組成的數能被2整除,取出三個數字組成的數能被3整除,依次類推。。。每次取數都是從左邊取。問,這個數是什麼?給出求解此數的算法。
代碼如下:
import java.util.Arrays; public class MagicDiv { private int[] used = new int[10]; public void find(){ Arrays.fill(used,0); used[5] = 1; dfs(0,1); } public void dfs(int pre, int pos){ if(pos > 9){ System.out.println(pre); return; } int tmp = pre * 10; if(pos == 5){ dfs(tmp + 5 , pos + 1); }else{ for (int i = 1; i < 10; i++) { if(used[i] == 0 ){ int cur = tmp + i; if(cur % pos == 0){ used[i] = 1; dfs(cur,pos + 1); used[i] = 0; } } } } } public static void main(String[] args) { new MagicDiv().find(); } }
轉自:http://yangguo.javaeye.com/blog/801820
直播概要: 隨着計算機的蓬勃發展,互聯網進入大數據和人工智能時代,爲了解決信息過載和長尾商品,推薦系統成爲唯一選擇,而面對不同的業務場景,爲了解決業務痛點,會根據不同的場景特點尋找不同的方法和手段來解決推薦中實際遇到的問題。在智慧家庭領域,
{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ
{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null
{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockq