This commit is contained in:
rzmk 2023-09-22 14:40:45 +00:00
parent c202923651
commit ec612c2642
7 changed files with 93 additions and 4 deletions

View file

@ -200,6 +200,38 @@
<a href="#200" id="200">200</a>
<a href="#201" id="201">201</a>
<a href="#202" id="202">202</a>
<a href="#203" id="203">203</a>
<a href="#204" id="204">204</a>
<a href="#205" id="205">205</a>
<a href="#206" id="206">206</a>
<a href="#207" id="207">207</a>
<a href="#208" id="208">208</a>
<a href="#209" id="209">209</a>
<a href="#210" id="210">210</a>
<a href="#211" id="211">211</a>
<a href="#212" id="212">212</a>
<a href="#213" id="213">213</a>
<a href="#214" id="214">214</a>
<a href="#215" id="215">215</a>
<a href="#216" id="216">216</a>
<a href="#217" id="217">217</a>
<a href="#218" id="218">218</a>
<a href="#219" id="219">219</a>
<a href="#220" id="220">220</a>
<a href="#221" id="221">221</a>
<a href="#222" id="222">222</a>
<a href="#223" id="223">223</a>
<a href="#224" id="224">224</a>
<a href="#225" id="225">225</a>
<a href="#226" id="226">226</a>
<a href="#227" id="227">227</a>
<a href="#228" id="228">228</a>
<a href="#229" id="229">229</a>
<a href="#230" id="230">230</a>
<a href="#231" id="231">231</a>
<a href="#232" id="232">232</a>
<a href="#233" id="233">233</a>
<a href="#234" id="234">234</a>
</pre></div><pre class="rust"><code><span class="kw">use </span>std::collections::HashSet;
<span class="doccomment">/// Finds all factor pairs for a positive integer `n`.
@ -338,6 +370,38 @@
multiples
}
<span class="doccomment">/// Checks if a positive integer `n` is a prime number.
///
/// A prime number is a positive integer greater than 1 that cannot
/// be evenly divisible by any positive integers other than 1 and itself.
///
/// # Examples
///
/// ```rust
/// use ladderz::pre_algebra::is_prime;
///
/// assert!(!is_prime(1)); // 1 is not a prime number
/// assert!(is_prime(2)); // 2 is a prime number
/// assert!(!is_prime(4)); // 4 is not a prime number
/// assert!(is_prime(7)); // 7 is a prime number
/// ```
///
/// # Note
///
/// This function returns `false` for values of `n` less than 2 because, by definition, prime
/// numbers must be greater than 1.
</span><span class="kw">pub fn </span>is_prime(n: u32) -&gt; bool {
<span class="kw">if </span>n == <span class="number">1 </span>{
<span class="kw">return </span><span class="bool-val">false</span>;
};
<span class="kw">for </span>num <span class="kw">in </span><span class="number">2</span>..n {
<span class="kw">if </span>n % num == <span class="number">0 </span>{
<span class="kw">return </span><span class="bool-val">false</span>;
}
}
<span class="bool-val">true
</span>}
<span class="attr">#[cfg(test)]
</span><span class="kw">mod </span>tests {
<span class="kw">use super</span>::<span class="kw-2">*</span>;