求0~100000的“水仙花数”。
严格来说,三位自幂数才称为水仙花数。
但我们这里对其进行了变种,定义“水仙花数”为:一个n位数的每位的n次方相加,刚好等于它本身的数。
如:153 == 1^3 + 5^3 + 3^3
分析
这个题目的关键在于:
- 如何知道这个数是几位数?
- 如何判断这个数是否为“水仙花数”?
我们分成2个函数来解决:
- 如何知道这个数是几服务器托管网位数?
- 我们不断地进行n /= 10,当n == 0时,根据循环的次数,我们就可以得到n的位数。
- 如何判断这个数是否为“水仙花数”?
- 取极右法
- 让n % 10,即可得到它的个位(极右)
- 让n / 10,则可以让n使其它的个位
- 然后让新的n再进入一次循环,最后就能得到它的每一位
- 把每一位^位数的和与n相比,相等则为水仙花,代码如下
//取极右法
bool Is_lily_number(int n, int digit)
{
int i = 0;
int num = 0;
int sum = 0;
int same_n = n;
for (i = 0; i
- 取极左法
- 下图代码中使用的是这种方法,里面有详细注释。
整个代码如下
#include
#include
#include
int Count_digits(int n)
{
int count = 0;
while (n != 0)
{
n /= 10;
count++;
}
return count;
}
bool Is_lily_number(int n, int digit)
{
int i =服务器托管网 0;
int sum = 0;
int num = 0;
int same_n = n;
//求出每一位数,然后让每一位数的指数为digit(位数)
for (i = 0; i
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: Servlet系列:(HttpServletRequest、HttpServletResponse、ServletContext、ServletConfig)详解
HttpServletRequest HttpServletRequest 对象:主要作用是用来接收客户端发送过来的请求信息,例如:请求的参数,发送的头信息等都属于客户端发来的信息,service()方法中形参接收的是 HttpServletRequest 接…