-
Notifications
You must be signed in to change notification settings - Fork 139
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
- Loading branch information
1 parent
0fcfd42
commit 9f73cdb
Showing
27 changed files
with
480 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
File renamed without changes.
Binary file not shown.
68 changes: 68 additions & 0 deletions
68
logic/src/main/java/math/is_power_of_two/IsPowerOfTwo.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
package math.is_power_of_two; | ||
|
||
/** | ||
* @author 小傅哥,微信:fustack | ||
* @description 判断数字是否为 2 次方数 | ||
* @github https://github.com/fuzhengwei | ||
* @Copyright 公众号:bugstack虫洞栈 | 博客:https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获! | ||
*/ | ||
public class IsPowerOfTwo { | ||
|
||
/** | ||
* 通过除以2判断是否为0的方式计算 | ||
*/ | ||
public boolean isPowerOfTwo01(int number) { | ||
if (number < 1) return false; | ||
|
||
int dividedNumber = number; | ||
while (dividedNumber != 1) { | ||
if (dividedNumber % 2 != 0) { | ||
return false; | ||
} | ||
dividedNumber = dividedNumber / 2; | ||
} | ||
|
||
return true; | ||
} | ||
|
||
/** | ||
* 通过二进制错位 & 运算判断; | ||
* http://www.graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2 | ||
* 无符号整型 v;// 我们想看看 v 是否是 2 的幂 | ||
* 布尔 f;// 结果在这里 | ||
* f = (v & (v - 1)) == 0; | ||
* 请注意,此处 0 被错误地视为 2 的幂。要解决此问题,请使用: | ||
* f = v && !(v & (v - 1)); | ||
*/ | ||
public boolean isPowerOfTwo02(int number) { | ||
if (number < 1) return false; | ||
return (number & (number - 1)) == 0; | ||
} | ||
|
||
/** | ||
* 取以2为底的数字的对数,如果你得到一个整数,那么这个数字就是2的幂 | ||
*/ | ||
public boolean isPowerOfTwo03(int number) { | ||
if (number == 0) | ||
return false; | ||
// log8 = log2^3 / log2 = 3 | ||
double x = Math.log(number) / Math.log(2); | ||
// 向上和向下取整的结果判断 | ||
return (int)(Math.ceil(x)) == (int)(Math.floor(x)); | ||
} | ||
|
||
/** | ||
* 两个数的所有幂只有一个位集。所以数一数。设置位的数量,如果您得到 1,则该数字是2的幂。 | ||
*/ | ||
public boolean isPowerOfTwo04(int number){ | ||
int cnt = 0; | ||
while (number > 0) { | ||
if ((number & 1) == 1) { | ||
cnt++; | ||
} | ||
number = number >> 1; | ||
} | ||
return cnt == 1; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
# 《程序员数学:判断2次方数》—— 除法、二进制、对数,你会用哪种方式判断? | ||
|
||
作者:小傅哥 | ||
<br/>博客:[https://bugstack.cn](https://bugstack.cn) | ||
<br/>源码:[https://github.com/fuzhengwei/java-algorithms](https://github.com/fuzhengwei/java-algorithms) | ||
|
||
> 沉淀、分享、成长,让自己和他人都能有所收获!😄 | ||
## 一、前言 | ||
|
||
`每一个知识的索引都可能会牵扯出一片的内容` | ||
|
||
记得以前看到一个文章内容,说国外的小孩留一个很开放的作文题目,但如果想把这样一个作业写下来,则需要索引大量的资料才能完成。但在这个过程中其实会收获很多,也学会了如何学习。 | ||
|
||
其实像小傅哥去编写这样的《程序员数学》资料时,也会去横向和纵向的对比一些数学上的文章和内容,有的来自维基百科,有的来自于论文资料,现在还可以从 [chatGPT](https://chat.openai.com/chat) 中探索。 | ||
|
||
另外还有一份斯坦福大学的课程资料,小傅哥把它转成 PDF 有需要的伙伴可以下载学习使用。[《计算机课程资料 - 斯坦福大学 @肖恩·埃隆·安德森》](https://github.com/fuzhengwei/java-algorithms/blob/main/%E4%BD%9C%E8%80%85%EF%BC%9A%E8%82%96%E6%81%A9%C2%B7%E5%9F%83%E9%9A%86%C2%B7%E5%AE%89%E5%BE%B7%E6%A3%AE%20seander%40cs%E3%80%82%E6%96%AF%E5%9D%A6%E7%A6%8F%E5%A4%A7%E5%AD%A6.pdf) | ||
|
||
## 二、判断2次方数 | ||
|
||
如果说判断一个数字是否满足2的次方,首先我会想到二进制,因为二进制的每一位都是2的次方数字。那么判断一个数字是否为2的次方可以从二进制中的数字特性下手,比如我们可以做二进制数字的判断,也就是一个数字的二进制必须只有1位为1,其他位都为0,那么这个数字就是2次方的数字。 | ||
|
||
🤔那除此之外还有其他手段吗?我们接下来就分别实现下 | ||
|
||
### 1. 整除法 | ||
|
||
<div align="center"> | ||
<img src="/Users/fuzhengwei/1024/github/java-algorithms/logic/src/main/java/math/is_power_of_two/images/is-power-of-two-01.png?raw=true" width="150px"> | ||
</div> | ||
|
||
**代码实现** | ||
|
||
```java | ||
public boolean isPowerOfTwo01(int number) { | ||
if (number < 1) return false; | ||
|
||
int dividedNumber = number; | ||
while (dividedNumber != 1) { | ||
if (dividedNumber % 2 != 0) { | ||
return false; | ||
} | ||
dividedNumber = dividedNumber / 2; | ||
} | ||
|
||
return true; | ||
} | ||
``` | ||
|
||
- 循环数字除以2的结果与2求模计算看余数是否为0,只要有一次为0,那么就不是2的次方数。 | ||
|
||
### 2. 二进制 | ||
|
||
<div align="center"> | ||
<img src="/Users/fuzhengwei/1024/github/java-algorithms/logic/src/main/java/math/is_power_of_two/images/is-power-of-two-02.png?raw=true" width="350px"> | ||
</div> | ||
|
||
**代码实现** | ||
|
||
```java | ||
public boolean isPowerOfTwo02(int number) { | ||
if (number < 1) return false; | ||
return (number & (number - 1)) == 0; | ||
} | ||
``` | ||
|
||
- 在斯坦福大学的计算资料中,有这么一条关于判断2的次方数的内容;`f = (v & (v - 1)) == 0;` 错位进行 & 与运算,结果为0则是2次方数【过程如图】。 | ||
- 此外这里我们过滤了小于的数字,如果不过滤则需要使用;`f = v && !(v & (v - 1));` | ||
|
||
### 3. 求对数 | ||
|
||
<div align="center"> | ||
<img src="/Users/fuzhengwei/1024/github/java-algorithms/logic/src/main/java/math/is_power_of_two/images/is-power-of-two-03.png?raw=true" width="350px"> | ||
</div> | ||
|
||
**代码实现** | ||
|
||
```java | ||
public boolean isPowerOfTwo03(int number) { | ||
if (number == 0) | ||
return false; | ||
// log8 = log2^3 / log2 = 3 | ||
double x = Math.log(number) / Math.log(2); | ||
// 向上和向下取整的结果判断 | ||
return (int)(Math.ceil(x)) == (int)(Math.floor(x)); | ||
} | ||
``` | ||
|
||
- 此方式为计算2为底数的对数,如果得到的数字向上和向下取整结果一致,那么则是2的次方。 | ||
- 这里做一个简单的推到,加入 number = 8,那么 log8 = log2^3 也就是用 log2^3 与 log2 做对比。这样就能看出来一个结果3,这个3是一个整数数字,则这个 number 也就是2次方数。 | ||
|
||
### 4. 位计算 | ||
|
||
<div align="center"> | ||
<img src="/Users/fuzhengwei/1024/github/java-algorithms/logic/src/main/java/math/is_power_of_two/images/is-power-of-two-04.png?raw=true" width="350px"> | ||
</div> | ||
|
||
**代码实现** | ||
|
||
```java | ||
public boolean isPowerOfTwo04(int number){ | ||
int cnt = 0; | ||
while (number > 0) { | ||
if ((number & 1) == 1) { | ||
cnt++; | ||
} | ||
number = number >> 1; | ||
} | ||
return cnt == 1; | ||
} | ||
``` | ||
|
||
- 这个其实就是最开始说的,如果一个数字满足2次方,那么只要在二进制的转换中,它只有1位是1就可以了。 | ||
|
||
## 三、单元测试 | ||
|
||
```java | ||
@Test | ||
public void test_IsPowerOfTwo(){ | ||
IsPowerOfTwo isPowerOfTwo = new IsPowerOfTwo(); | ||
System.out.println(isPowerOfTwo.isPowerOfTwo01(8)); | ||
System.out.println(isPowerOfTwo.isPowerOfTwo02(8)); | ||
System.out.println(isPowerOfTwo.isPowerOfTwo03(163)); | ||
System.out.println(isPowerOfTwo.isPowerOfTwo04(12)); | ||
} | ||
|
||
@Test | ||
public void test_math(){ | ||
System.out.println(Math.ceil(Math.log(8) / Math.log(2))); | ||
System.out.println(Math.log(1)); | ||
System.out.println(Math.E); | ||
System.out.println(Math.pow(Math.E, Math.log(2))); | ||
} | ||
``` | ||
|
||
- 在单元测试中除了验证4种判断2次方数的计算方式,也提供了关于log的计算,默认log是基于指数E的计算。读者也可以进行测试验证。a 的 x 次方 = N 那么 x = log(a)N | ||
|
||
## 四、常见面试题 | ||
|
||
- 如何判断一个数字是2的次方数 | ||
- 在Java中怎么计算log公式 |
31 changes: 31 additions & 0 deletions
31
logic/src/main/java/math/is_power_of_two/__test__/IsPowerOfTwoTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package math.is_power_of_two.__test__; | ||
|
||
import math.is_power_of_two.IsPowerOfTwo; | ||
import org.junit.jupiter.api.Test; | ||
|
||
/** | ||
* @author 小傅哥,微信:fustack | ||
* @description 单元测试 | ||
* @github https://github.com/fuzhengwei | ||
* @Copyright 公众号:bugstack虫洞栈 | 博客:https://bugstack.cn - 沉淀、分享、成长,让自己和他人都能有所收获! | ||
*/ | ||
public class IsPowerOfTwoTest { | ||
|
||
@Test | ||
public void test_IsPowerOfTwo(){ | ||
IsPowerOfTwo isPowerOfTwo = new IsPowerOfTwo(); | ||
System.out.println(isPowerOfTwo.isPowerOfTwo01(8)); | ||
System.out.println(isPowerOfTwo.isPowerOfTwo02(8)); | ||
System.out.println(isPowerOfTwo.isPowerOfTwo03(163)); | ||
System.out.println(isPowerOfTwo.isPowerOfTwo04(12)); | ||
} | ||
|
||
@Test | ||
public void test_math(){ | ||
System.out.println(Math.ceil(Math.log(8) / Math.log(2))); | ||
System.out.println(Math.log(1)); | ||
System.out.println(Math.E); | ||
System.out.println(Math.pow(Math.E, Math.log(2))); | ||
} | ||
|
||
} |
1 change: 1 addition & 0 deletions
1
logic/src/main/java/math/is_power_of_two/draw/is-power-of-two.drawio
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
<mxfile host="Electron" modified="2022-12-08T03:45:12.827Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.2.8 Chrome/102.0.5005.167 Electron/19.0.15 Safari/537.36" etag="kwcol3ilc9NTwOa478-I" version="20.2.8" type="device" pages="4"><diagram id="tUD_5RNZibAbXZSyxroM" name="图1">5ZZBb5swGIZ/yw4cN2EMhB6XNF2lqdoh0rarY3+AV2Mz44ykv352cBKo23WRWuXQE/B8tjHvY8ARXjTbL5q09Z1iIKIkZtsIX0dJglCR24Mju4HM8NUAKs3ZgOITWPEH8D0PdMMZdJ4NyCglDG+nkCopgZoJI1qrftqsVIJNQEsqCMCKEhHSH5yZeqBZEZ/4LfCq9ncuYl9oyKGtB11NmOpHCC8jvNBKmeGs2S5AuOymsdw8Uz3OS4M0/9NBfW92S/S1qn717O73t5b9JPDRj/KHiI1/3sLP1uwOCWi1kQzcKCjC877mBlYtoa7aW+eW1aYRvlwqabxElPrrG9Jw4fQvVMOpHXxFZGcPdyvXgAuxUELp/c1wWVCg1PLOaHUPo8q6yNIsthU/ZdAGts9mgY4J25UJqgGjd7aJ7zDzPfyaRLlfk/3JcOq11SO5B0b8mqqOA59ytyc++jM0JIGG9LIaGIGifFJDTgtYl2+iIUGzy2rAgYbkPWrIs8tqSAMN6B1qwAhfVkMWaAgs2H9a607pRovdXBN6D+ZlHVN3peDt7UjUv8U8MvkKsaPk5Z8BysLcEZ69UfD5E8HbCcQOftgDt8nISeNyleuuPQYxUmMDMdPYieCVdLJsMGDX79zFxu1O57MvNJwx132uoeMPZL0fyv1xW8Wl2T9lNo+yazfWxqjOewjeC6kkPHqJDujcF/E1/OJ8+nlLkk/hB26WhoaTq7MF28vTjm5fG22L8fIv</diagram><diagram id="jQOTXoHBrPn3itwuqwmM" name="图2">7Zpbj5s4FMc/jaXtQ1aAuZjHcEkrVVW7ykr77IAJbAGn4Ewy/fRrgwkXk+mMZrLMKptIg/335YTz8+UYBkC/OH+s8CH9QmOSA0OLzwAGwDB0Hdn8IpTHVnGg2wr7KotbSeuFbfaTyJadesxiUkutlRilOcsOYzGiZUkiNtJwVdHTuFpC83gkHPCeKMI2wrmq/pXFLG1VZDi9/olk+7SzrNvy/grcVZZ3Uqc4pqeBBEMA/YpS1qaKs09y4byxXzZXSi8/rCIle06DwF/tkyD9+h0GKEz9zycvWK1kLw84P8obRvLXssfOBRU9ljERvegAeqc0Y2R7wJEoPXHoXEtZkcvihJZMUtRNmd/gIssFf58WWcQ73+Ky5pcvW1Ehy3Of5rRqjMEERSSKuF6zin4ng5IdskxL4yXyJ5OKkfNVX+gXD/OhSWhBWPXIq3QNNKNtIkflhdqpZ2xKbukAb6dhOar2l557x/OE9P0LOBgKB31ZDjEmKJnlYEeI7JLbcDB0tCwHqHDQ7oKDpb0vDuadcnDR++Jg3ScHw7TfFwf7Pjko+4OjLcvBudN9ero/LM0B3SmH6f6wNAf3Pjko+8PSHHQ1YFI4kDJeixMxz5W0JGO/95C0Z3l9gqk1RmLlMP1Ljw48Zs14rNMqkmOWPYy7n3OjtPCNZtxwD8wa8YK6M+6hpscqIrLR8BA96Qdq2tMdMVztCVM6aqBe7voVnNWADBh2ziSSEXD7x5F2Bau6gbXmFXTncG6IdeU8tZdXXIjp2P69ZMtdLfN5W23Tmrq0auT6gMtZ83yWsRXOs33Z2s9JwubthybwEEAhCBHwNsDVQOiAdQhcZ2C7tdPZngxxYWs8rqXhIOLjkPCVwBPzPotwvpYFRRbHorlXEe4jvGu6EnPgIBg2VC0PWIHo68hoLQe9ssLIKTVcjjrppUvaWyxQcLI+mb9bygrl2Op8g8atVih1q1g4hE0s8Z3dKpqP7HKgt5/bhLawe6S42CMo7X9AT8W8ywNSH9beN6BJMLw8IPUp7l0DmkbJywNSo6eEZ5uU9tuDSHZBTyesRMT04YOs1VTs30Gokcdb87zBOqbPnFV0C82EAu7rMfzY/W3Ar6GXhp+iPz6ev/0ZFbuZl06vnyXPPq3Y80EariJZw+G5GNfpxfobMHCdyUSAKoKuzhCBY90IgbpSvfgYYV47RoQWQAisTRDawLXBOmgSAVjrTYTvAc8G4QZ4PkC+iPC54sKmDg/1fXkK8Nba1QPHfy3ot/+1mT4JKW015te7WT2a6U+cp68MM57tX123p9v+HwBg+A8=</diagram><diagram id="JSlGWaLdl1onoOYiJW5y" name="图3">xVddb5swFP01fkwFGBLzSFKyTlo/pqjttDcHXGLVYGachvbXzwbzFUjXdqqapMIc2+fa9/geKICrtPwmcL675DFhwLHiEsBz4Di2jebqopHnGllAvwYSQeMasjpgQ1+ImdmgexqTwmA1JDlnkuZDMOJZRiI5wLAQ/DAc9sBZPABynJARsIkwG6P3NJa7GkXOosMvCE12TWR7bvaX4maw2UmxwzE/9CAYArgSnMu6lZYrwnTyhnlZn+htFyZIJt8yIaQXOcTOr9ltfP87+nm9vf7hzgzLE2Z7s2FkViufmxQIvs9iollsAJeHHZVkk+NI9x6U6ArbyZSZ7geeSaOi7Zr7NU4p0/qveEojRb7BWaEulxs9gDK24oyLKhh8QBGJIoUXUvBH0uvZIs/1LNVjlkyEJOXJXNhthtXRJDwlUjyrIc0Ey6mnmFPZqnboNHaNbruevA2GzalKWuYu8aphcv8OHdyRDsCZMxV1GdOngRzzP3t9YpaDVmKu1Ywix9nklC2OHpNKzVlU5zXQ68qopJhNUjKeqPNgVSyWunGAF0INqM0awARVSB13uBYFVxsYol+6J3XFqT612bbIq3vr41CVGHhmvTMNX1phnv5OVdi8+hjKHl5/FI4ZTTKFMfKg94FFZBbif05ZthS9srTRYlyXHvz/uoR366uXzLu5E+7hIL9btzO/nPDHkXgkiwP9oFF3Gc/IUKxOWetNUh1pWwcj8egZ9c+M9jLmTRhZgwnCsKRPQ/qpLJoIN5yqwK1gLhzqhfwhQ8H3IiJmUv/ZdMQDbfQ6kcQiIXJEVGna7vrjMjsn7VcrMmk8umNWVFppx7HdvJy2m9ADyAPBSjeWK4DWIFzrhh80MbaiGYxbv9vnDVb2vaWDW/e5qq3piKns2/YU7dUp2mMmEPpguQQ+AiECQQgCt92AotZhwgXwXRCgqhEApAbM9fhgXe0Z6Z9GVNvSJ129GZ2FzfqGnuqcLWzkIP3ner7ler1V1lKcsFBlOnJYekdmpY2Jqve6wMApjWM9eSmIUhFvKyJdpLk+ZNWx85bAO9dMe8kLU5Uj3zQ13zfZBuoVc+Oqr1b/ZzioSvqxg0LPGxuC//43G3Xbvb3Wldj9DwDDvw==</diagram><diagram id="ZH1rYpU8oyV7oTnJC8J6" name="图4">7Vhbb5swFP41fuwUrjGP3NJJXbWHaNrlzQUH3BnMHKch/fWzwQ5Q1pvUKtXaJ3y+c8E+33ccEeDEVXvOUVNeshxTYC/yFjgJsG3Lgr58KOTQI0sn6IGCk7yHFgOwJrdYZxp0R3K81VgPCcaoIM0UzFhd40xMMMQ520/DNozmE6BBBZ4B6wzROfqd5KLsUWgvB/wzJkVp3mz5+nwVMsH6JNsS5Ww/gpwUODFnTPSrqo0xVc2b9mV1j/e4MY5r8ZSEX+ffvGa9/HqRXMaJc31xxm5vz3SVG0R3+sBQ71YcTAs429U5VlUs4ET7kgi8blCmvHtJusRKUVHt3rBaaBYtV9srVBGq+I9ZRTJZfI3qrXxcrlUAoTRmlPHuZc4GZjjLJL4VnP3GI88V9FxvIT16y5gL3N7bC+vYYSlNzCos+EGGmISF3adoVR5Z2w8cu5q3ckSvwZBWVXGsPDReLnTvn8GDPePBOi0POcJw808e/Aziq83r8GBb8LQ8BLOu41zeB9pkXJSsYDWi6YBGAy9KnUPMF8YazcY1FuKg6UA7waZc4ZaIHyr9k6etnyNP0urKnXEwRi2PO0pS5jFLGUNaZ5m8x3UwEo5/ZFl14WGOZdPYjmf4geY6+v5GvMDisWGYa4ZjigS5me7jxRXgzCZxMdPE/ziJ3uJtTeL8d+hjEl9sEt0nTqJzykl03+kkBvBtTeLyYxJfbxK9J06ie8pJ9N7nJNqu/7Ym0XwUj4gAtk+F7uCEEP/PjhnH2bbrdSgDLLdpu+4Yv1wV6nmstN01BqsNJnc7gkHqgzAGoQVSD0QBgDZIlyAIAXSVK5DgQrnCBARLkK5AFAMYg9QFUQJg0i0ggKGKgSsQhl2WjAks7Qtl7eHV/dn0u+/qTtIrpuJClBS1XGeSZixlESkREPlJH2pHRfK8v6WwbAy66kqpi6BhpBYdaV4EvETVkhfTVgt1Jrea1fiONg1058J4VN+v8S0FvZlarSCYy9Wxny1XaQ5/XHS+0d8/TvoX</diagram></mxfile> |
Binary file added
BIN
+13.6 KB
logic/src/main/java/math/is_power_of_two/images/is-power-of-two-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+31.5 KB
logic/src/main/java/math/is_power_of_two/images/is-power-of-two-02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+37.2 KB
logic/src/main/java/math/is_power_of_two/images/is-power-of-two-03.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+16.5 KB
logic/src/main/java/math/is_power_of_two/images/is-power-of-two-04.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.