mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-07-16 11:32:44 +08:00
Documentation for 5dc34677ed
This commit is contained in:
@@ -929,31 +929,31 @@ false if number is not a factorial </dd></dl>
|
||||
<dd>
|
||||
false if number is not a prime. </dd></dl>
|
||||
<p>Reduce all possibilities of a number which cannot be prime with the first 3 if, else if conditionals. Example: Since no even number, except 2 can be a prime number and the next prime we find after our checks is 5, we will start the for loop with i = 5. then for each loop we increment i by +6 and check if i or i+2 is a factor of the number; if it's a factor then we will return false. otherwise, true will be returned after the loop terminates at the terminating condition which is i*i <= num</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 30</span> {<span class="comment"></span></div>
|
||||
<div class="line"><span class="lineno"> 31</span><span class="comment"> /*!</span></div>
|
||||
<div class="line"><span class="lineno"> 32</span><span class="comment"> * Reduce all possibilities of a number which cannot be prime with the first</span></div>
|
||||
<div class="line"><span class="lineno"> 33</span><span class="comment"> * 3 if, else if conditionals. Example: Since no even number, except 2 can</span></div>
|
||||
<div class="line"><span class="lineno"> 34</span><span class="comment"> * be a prime number and the next prime we find after our checks is 5,</span></div>
|
||||
<div class="line"><span class="lineno"> 35</span><span class="comment"> * we will start the for loop with i = 5. then for each loop we increment</span></div>
|
||||
<div class="line"><span class="lineno"> 36</span><span class="comment"> * i by +6 and check if i or i+2 is a factor of the number; if it's a factor</span></div>
|
||||
<div class="line"><span class="lineno"> 37</span><span class="comment"> * then we will return false. otherwise, true will be returned after the</span></div>
|
||||
<div class="line"><span class="lineno"> 38</span><span class="comment"> * loop terminates at the terminating condition which is i*i <= num</span></div>
|
||||
<div class="line"><span class="lineno"> 39</span><span class="comment"> */</span></div>
|
||||
<div class="line"><span class="lineno"> 40</span> <span class="keywordflow">if</span> (num <= 1) {</div>
|
||||
<div class="line"><span class="lineno"> 41</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 42</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (num == 2 || num == 3) {</div>
|
||||
<div class="line"><span class="lineno"> 43</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><span class="lineno"> 44</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (num % 2 == 0 || num % 3 == 0) {</div>
|
||||
<div class="line"><span class="lineno"> 45</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 46</span> } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><span class="lineno"> 47</span> <span class="keywordflow">for</span> (int64_t i = 5; i * i <= num; i = i + 6) {</div>
|
||||
<div class="line"><span class="lineno"> 48</span> <span class="keywordflow">if</span> (num % i == 0 || num % (i + 2) == 0) {</div>
|
||||
<div class="line"><span class="lineno"> 49</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 50</span> }</div>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 31</span> {<span class="comment"></span></div>
|
||||
<div class="line"><span class="lineno"> 32</span><span class="comment"> /*!</span></div>
|
||||
<div class="line"><span class="lineno"> 33</span><span class="comment"> * Reduce all possibilities of a number which cannot be prime with the first</span></div>
|
||||
<div class="line"><span class="lineno"> 34</span><span class="comment"> * 3 if, else if conditionals. Example: Since no even number, except 2 can</span></div>
|
||||
<div class="line"><span class="lineno"> 35</span><span class="comment"> * be a prime number and the next prime we find after our checks is 5,</span></div>
|
||||
<div class="line"><span class="lineno"> 36</span><span class="comment"> * we will start the for loop with i = 5. then for each loop we increment</span></div>
|
||||
<div class="line"><span class="lineno"> 37</span><span class="comment"> * i by +6 and check if i or i+2 is a factor of the number; if it's a factor</span></div>
|
||||
<div class="line"><span class="lineno"> 38</span><span class="comment"> * then we will return false. otherwise, true will be returned after the</span></div>
|
||||
<div class="line"><span class="lineno"> 39</span><span class="comment"> * loop terminates at the terminating condition which is i*i <= num</span></div>
|
||||
<div class="line"><span class="lineno"> 40</span><span class="comment"> */</span></div>
|
||||
<div class="line"><span class="lineno"> 41</span> <span class="keywordflow">if</span> (num <= 1) {</div>
|
||||
<div class="line"><span class="lineno"> 42</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 43</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (num == 2 || num == 3) {</div>
|
||||
<div class="line"><span class="lineno"> 44</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><span class="lineno"> 45</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (num % 2 == 0 || num % 3 == 0) {</div>
|
||||
<div class="line"><span class="lineno"> 46</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 47</span> } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><span class="lineno"> 48</span> <span class="keywordflow">for</span> (int64_t i = 5; i * i <= num; i = i + 6) {</div>
|
||||
<div class="line"><span class="lineno"> 49</span> <span class="keywordflow">if</span> (num % i == 0 || num % (i + 2) == 0) {</div>
|
||||
<div class="line"><span class="lineno"> 50</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 51</span> }</div>
|
||||
<div class="line"><span class="lineno"> 52</span> }</div>
|
||||
<div class="line"><span class="lineno"> 53</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><span class="lineno"> 54</span> }</div>
|
||||
<div class="line"><span class="lineno"> 53</span> }</div>
|
||||
<div class="line"><span class="lineno"> 54</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><span class="lineno"> 55</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user