搜尋 H 找n的倍數(0,1組成的)

2021-07-31 20:20:35 字數 523 閱讀 3156

一.題目描述

關於正整數n,編寫乙個程式,求得乙個只由0和1構成的數,是n的整數倍(乙個就好)

二.解題思路

這道題可以用搜尋,深搜。但我還不大會用。

剛剛開始接觸這類題,以後想出來了再補上。

我用的方法是慢慢的列舉,從1,10,11,100,101,111,1000......這樣子,想出來了乙個迴圈可以解決

就是mod[0]=0;

則mod[i]=mod[i/2]*10+i%2;

這個式子就可以解決。

再判斷是否可以整除就好了

三.**

#include

using

namespace std;

intmain();

int i,n;

while

(cin>>n&&n!=0)

}}return0;

}

四.感想

提交時總是wa,後來知道是陣列定小了。

而且我讀題比較費時。。。。

BFS 01組成的N的倍數

由題餘數為零 則該串必定為1開頭的01串 由bfs特性可得首解最優 因此隊頭1 向後新增0 或 1 進行取模搜尋 當前取模值單一後推運算即可 否則展開規律相同 無意義 pragma gcc optimize 2 include include include include include incl...

51nod 01組成的N的倍數 題解

前言 發現一道好題目。題目廣搜,需要絕妙的數學證明與剪枝,思維含量較大,搜尋玩出花來。若在比賽中肯定想不出正解 話說這篇題解也不是最優解 我的數學太弱了 抽屜原理都不知道 看題解吧 給定乙個自然數n,找出乙個m,使得m 0且m是n的倍數,並且m的10進製表示只包含0或1。求最小的m。例如 n 4,m...

51 nod 1109 01組成的N的倍數

1109 01組成的n的倍數 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 給定乙個自然數n,找出乙個m,使得m 0且m是n的倍數,並且m的10進製表示只包含0或1。求最小的m。例如 n 4,m 100。input 輸入1個數n。1 n 10 6 output ...