51Node 01组成的N的倍数
生活随笔
收集整理的這篇文章主要介紹了
51Node 01组成的N的倍数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個自然數N,找出一個M,使得M > 0且M是N的倍數,并且M的10進制表示只包含0或1。求最小的M。
例如:N = 4,M = 100。
輸入
輸入1個數N。(1 <= N <= 10^6)
輸出
輸出符合條件的最小的M。
輸入樣例
4
輸出樣例
100
這里要用到的一個重要知識點是同余定理:若 a % b = c,則ax%b = cx % b;
還有就是已經確定不可以的余數我們要把它拋棄,假如m % b != 0,那么以后余數為m的將不予以考慮!(剪枝)
整體就好比一個二叉樹,所以我們進行BFS;
例 若 N = 4
所以我們可以大概可以了解起過程。
我們看代碼:
Bfs思想,同余定理,剪枝是本題的亮點。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的51Node 01组成的N的倍数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单递归题目分析与解答
- 下一篇: 通过简单的Linux命令,编译一个C语言