题目
解决代码及点评按照题目要求,3位数是从100~999,那么我们设计一个for循环遍历所有三位数 对每个三位数进行水仙花数的判断即可
- <pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code">/************************************************************************/
- /*
- 12. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数, 其各位数字立方和等于该数本身。
- 例如 153是一个水仙花数,因为 153= (要求分别用一重循环和三重循环实现)。
-
- */
- /************************************************************************/
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code">// 该函数实现判断一个数是否水仙花数
- bool f412(int num)
- {
- return num==pow((double)(num%10),3)+pow((double)(num/10%10),3)+pow((double)(num/100%10),3);
- }</pre><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code">void main()
- {
-
- for(int i=100;i<=999;i++) // 循环遍历所有三位数
- {
- if (f412(i)) // 进行水仙花数的判断,如果是,则打印该水仙花数
- {
- printf("%5d",i);
- }
-
- }
-
- system("pause");
- }</pre><br></pre><br><br></pre>
|