襄阳城 发表于 2010-3-27 15:03:48

C++编程问题5

<p>C++编程问题5</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:0 -</p>
<p>解决时间:2010-3-27 15:03</p>
<p>8.输入2个正整数m和n(m≥1,n≤1000,m<n),输入m到n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数,例如:153= 13+53+33</p>
<p>提问者: wu19874315 - 四级</p>
<p>最佳答案</p>
<p>/************************************************************************/</p>
<p>/* 输入2个正整数m和n(m≥1,n≤1000,m<n),输入m到n之间的所有水仙花数。</p>
<p>水仙花数是指各位数字的立方和等于其自身的数,例如:153= 13+53+33                                                                      */</p>
<p>/************************************************************************/</p>
<p>#include <iostream></p>
<p>#define len 4</p>
<p>#define max 1000</p>
<p>using namespace std;</p>
<p>int isSXH(int d)</p>
<p>{//d>0</p>
<p>int temp = d;</p>
<p>int i = 0;</p>
<p>int darr = {0};</p>
<p>do</p>
<p>{</p>
<p>darr = d%10;</p>
<p>i++;</p>
<p>//darr =d;</p>
<p>d /=10;</p>
<p>}while(d != 0);</p>
<p>int add = 0;</p>
<p>for (i = 0;i<len;i++)</p>
<p>{add += darr*darr*darr;</p>
<p>}</p>
<p>if (temp == add)</p>
<p>{return 1;</p>
<p>}</p>
<p>return 0;//不是水仙花数返回0;</p>
<p>}</p>
<p>int main()</p>
<p>{</p>
<p>//cout<<isSXH(153)<<endl;</p>
<p>for (int i=1;i<max;i++)</p>
<p>{</p>
<p>if (isSXH(i) == 1)</p>
<p>{</p>
<p>cout<<i<<\'\t\';</p>
<p>}</p>
<p>}</p>
<p>cout<<endl;</p>
<p>return 0;</p>
<p>}</p>
<p>0</p>
<p>回答者:</p>
<p>huang1743636 - 三级   2010-3-27 11:19</p>
<p>我来评论>></p>
页: [1]
查看完整版本: C++编程问题5