找回密码
 注册会员
查看: 610|回复: 0

C++编程问题5

[复制链接]
发表于 2010-3-27 15:03:48 | 显示全部楼层 |阅读模式
<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[len] = {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>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-7-29 21:39

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表