九位數字按位分別被除

2021-07-30 20:19:39 字數 484 閱讀 9643

1-9的9個數字,每個數字只能出現一次,要求這樣乙個9位整數:

其第一位能被1整除,前兩位能被2整除,前三位能被3整除,…..

直到九位能被9整除

/*1-9的9個數字,每個數字只能出現一次,要求這樣乙個9位整數:

其第一位能被1整除,前兩位能被2整除,前三位能被3整除,.....

直到九位能被9整除*/

//採用列舉實現

#include

#include

using

namespace

std;

bool used[10];

vector

long> v;

void dfs(int k, long

long a)

//遞迴過程

for (int i = 1; i <= 9; i++)

}}int main()

數字DP 按位DP

之前說過要做個專題,雖然隔了好長時間。但說話還是算數的,把之前做的ppt翻出來貼上,好吧,我就是懶。見識的還是少,歡迎討論啊 數字dp 在給定區間 a,b 內,找滿足要求的數。要求一般和數大小無關,而與數的組成有關 例如,遞增的,1234,2579 雙峰的,19280,26193 含49的,49,1...

數字範圍按位與

給定乙個範圍 m,n 0 m,n 2147483647,返回此閉區間內的所有數字進行與運算後的結果。這是一道leetcode上的經典題目,下面我將介紹兩種解法,當然有興趣的可以去原 看一下具體題目和官方解答。這種解法是最簡單的,包括我一開始也是這樣做的。具體 如下 class solution 時間...

數字範圍按位與(位運算 思維)

題目 給定範圍 m,n 其中 0 m n 2147483647,返回此範圍內所有數字的按位與 包含 m,n 兩端點 思路 一種直觀解法是將 n,m 的不同地位部分都變為0,可以逐位右移,再左移回來即可,這個做法挺快的。而還有一種可以利用我們的樹狀陣列的lowbit來搞,如下。class soluti...