mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-04-13 09:59:50 +08:00
Documentation for 6365881e68
This commit is contained in:
@@ -100,8 +100,8 @@ $(document).ready(function(){initNavTree('d4/d5d/math_2armstrong__number_8cpp.ht
|
||||
<p>Program to check if a number is an <a href="https://en.wikipedia.org/wiki/Narcissistic_number">Armstrong/Narcissistic number</a> in decimal system.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <cassert></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
<code>#include <cmath></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
</div><div class="textblock"><div class="dynheader">
|
||||
Include dependency graph for armstrong_number.cpp:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -148,23 +148,24 @@ Functions</h2></td></tr>
|
||||
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the number is armstrong. </dd>
|
||||
<dd>
|
||||
<code>false</code> if the number is not armstrong. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  {</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="comment">// If the number is less than 0, then it is not a armstrong number.</span></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keywordflow">if</span> (number < 0) {</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  }</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordtype">int</span> sum = 0;</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordtype">int</span> temp = number;</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="comment">// Finding the total number of digits in the number</span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordtype">int</span> total_digits = <a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#aab733299b170fa5a752503f95f090fcd">number_of_digits</a>(number);</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">while</span> (temp > 0) {</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordtype">int</span> rem = temp % 10;</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="comment">// Finding each digit raised to the power total digit and add it to the total sum</span></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  sum = sum + <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/pow.html">std::pow</a>(rem, total_digits);</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  temp = temp / 10;</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  }</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">return</span> number == sum;</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> }</div>
|
||||
<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  {</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="comment">// If the number is less than 0, then it is not a armstrong number.</span></div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordflow">if</span> (number < 0) {</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  }</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordtype">int</span> sum = 0;</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordtype">int</span> temp = number;</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="comment">// Finding the total number of digits in the number</span></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordtype">int</span> total_digits = <a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#aab733299b170fa5a752503f95f090fcd">number_of_digits</a>(number);</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">while</span> (temp > 0) {</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordtype">int</span> rem = temp % 10;</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="comment">// Finding each digit raised to the power total digit and add it to the</span></div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="comment">// total sum</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  sum = sum + <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/pow.html">std::pow</a>(rem, total_digits);</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  temp = temp / 10;</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  }</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">return</span> number == sum;</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -189,10 +190,10 @@ Here is the call graph for this function:</div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Main Function </p>
|
||||
<div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a>();</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div>
|
||||
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  {</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a>();</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -224,14 +225,14 @@ Here is the call graph for this function:</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Total number of digits. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  {</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keywordtype">int</span> total_digits = 0;</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="keywordflow">while</span> (num > 0) {</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  num = num / 10;</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  ++total_digits;</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  }</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <span class="keywordflow">return</span> total_digits;</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> }</div>
|
||||
<div class="fragment"><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  {</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  <span class="keywordtype">int</span> total_digits = 0;</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keywordflow">while</span> (num > 0) {</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  num = num / 10;</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  ++total_digits;</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  }</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">return</span> total_digits;</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -250,20 +251,20 @@ Here is the call graph for this function:</div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Function for testing the <a class="el" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong()</a> function with all the test cases. </p>
|
||||
<div class="fragment"><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  {</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="comment">// is_armstrong(370) returns true.</span></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(370) == <span class="keyword">true</span>);</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="comment">// is_armstrong(225) returns false.</span></div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(225) == <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="comment">// is_armstrong(-23) returns false.</span></div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(-23) == <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="comment">// is_armstrong(153) returns true.</span></div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(153) == <span class="keyword">true</span>);</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="comment">// is_armstrong(0) returns true.</span></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(0) == <span class="keyword">true</span>);</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="comment">// is_armstrong(12) returns false.</span></div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(12) == <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> }</div>
|
||||
<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// is_armstrong(370) returns true.</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(370) == <span class="keyword">true</span>);</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="comment">// is_armstrong(225) returns false.</span></div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(225) == <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// is_armstrong(-23) returns false.</span></div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(-23) == <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">// is_armstrong(153) returns true.</span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(153) == <span class="keyword">true</span>);</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="comment">// is_armstrong(0) returns true.</span></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(0) == <span class="keyword">true</span>);</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="comment">// is_armstrong(12) returns false.</span></div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  assert(<a class="code" href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a>(12) == <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -275,15 +276,15 @@ Here is the call graph for this function:</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div class="ttc" id="amath_2armstrong__number_8cpp_html_aab733299b170fa5a752503f95f090fcd"><div class="ttname"><a href="../../d4/d5d/math_2armstrong__number_8cpp.html#aab733299b170fa5a752503f95f090fcd">number_of_digits</a></div><div class="ttdeci">int number_of_digits(int num)</div><div class="ttdef"><b>Definition:</b> armstrong_number.cpp:19</div></div>
|
||||
<div class="ttc" id="amath_2armstrong__number_8cpp_html_a9cebd92bc70890c3cfa261d68a5016e7"><div class="ttname"><a href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a></div><div class="ttdeci">bool is_armstrong(int number)</div><div class="ttdef"><b>Definition:</b> armstrong_number.cpp:34</div></div>
|
||||
<div class="ttc" id="amath_2armstrong__number_8cpp_html_ae1a3968e7947464bee7714f6d43b7002"><div class="ttname"><a href="../../d4/d5d/math_2armstrong__number_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a></div><div class="ttdeci">void test()</div><div class="ttdef"><b>Definition:</b> armstrong_number.cpp:56</div></div>
|
||||
<div class="ttc" id="amath_2armstrong__number_8cpp_html_aab733299b170fa5a752503f95f090fcd"><div class="ttname"><a href="../../d4/d5d/math_2armstrong__number_8cpp.html#aab733299b170fa5a752503f95f090fcd">number_of_digits</a></div><div class="ttdeci">int number_of_digits(int num)</div><div class="ttdef"><b>Definition:</b> armstrong_number.cpp:21</div></div>
|
||||
<div class="ttc" id="amath_2armstrong__number_8cpp_html_a9cebd92bc70890c3cfa261d68a5016e7"><div class="ttname"><a href="../../d4/d5d/math_2armstrong__number_8cpp.html#a9cebd92bc70890c3cfa261d68a5016e7">is_armstrong</a></div><div class="ttdeci">bool is_armstrong(int number)</div><div class="ttdef"><b>Definition:</b> armstrong_number.cpp:36</div></div>
|
||||
<div class="ttc" id="amath_2armstrong__number_8cpp_html_ae1a3968e7947464bee7714f6d43b7002"><div class="ttname"><a href="../../d4/d5d/math_2armstrong__number_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a></div><div class="ttdeci">void test()</div><div class="ttdef"><b>Definition:</b> armstrong_number.cpp:59</div></div>
|
||||
<div class="ttc" id="apow_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/pow.html">std::pow</a></div><div class="ttdeci">T pow(T... args)</div></div>
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../dir_296d53ceaeaa7e099814a6def439fe8a.html">math</a></li><li class="navelem"><a class="el" href="../../d4/d5d/math_2armstrong__number_8cpp.html">armstrong_number.cpp</a></li>
|
||||
<li class="footer">Generated on Thu Jun 25 2020 09:51:46 for Algorithms_in_C++ by
|
||||
<li class="footer">Generated on Thu Jun 25 2020 10:30:51 for Algorithms_in_C++ by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user