用C语言求水仙花数
2018-03-13 23:25
288 查看
以下总结两种做法,供大家参考,希望对大家有所帮助。同时欢迎分享其他做法。
求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1^3+5^3+3^3,则153是一个“水仙花数”。
/*
在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。
例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。
*/\\第一种
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a, b, c, y, n = 0;
int x;
for (x = 100; x <= 999; x++)
{
a = x % 1000 / 100; //求第一位数
b = x % 100 / 10; //求第二位数
c = x % 10 / 1; //求第三位数
y = a*a*a + b*b*b + c*c*c;
if (y == x)
{
printf("%d ", x);
n++;
}
}
printf("水仙花数量为:%d", n);
return 0;
}
\\第二种
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i, j, k, num;
for (i = 1; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
for (k = 0; k < 10; k++)
{
num = 100 * i + 10 * j + k;
if (num == (i*i*i + j*j*j + k*k*k))
printf("%d ", num);
}
}
}
return 0;
}
求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1^3+5^3+3^3,则153是一个“水仙花数”。
/*
在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。
例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。
*/\\第一种
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a, b, c, y, n = 0;
int x;
for (x = 100; x <= 999; x++)
{
a = x % 1000 / 100; //求第一位数
b = x % 100 / 10; //求第二位数
c = x % 10 / 1; //求第三位数
y = a*a*a + b*b*b + c*c*c;
if (y == x)
{
printf("%d ", x);
n++;
}
}
printf("水仙花数量为:%d", n);
return 0;
}
\\第二种
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i, j, k, num;
for (i = 1; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
for (k = 0; k < 10; k++)
{
num = 100 * i + 10 * j + k;
if (num == (i*i*i + j*j*j + k*k*k))
printf("%d ", num);
}
}
}
return 0;
}
相关文章推荐
- 用C语言求出0~999之间的所有的“水仙花数”并输出
- 【C语言训练】"水仙花数"问题2
- C语言 找水仙花数
- 【C语言】找水仙花数
- 【C语言】C的一些简单练习题,关于水仙花数,求和,整数高低位输出,制定二进制位替换
- 【C语言】C的一些简单练习题,关于水仙花数,求和,整数高低位输出,制定二进制位替换
- c语言:水仙花数
- c语言:3种方法;求出0~999之间的所有“水仙花数”并输出。
- 用C语言编程求水仙花数
- C语言实现的水仙花数
- 利用c语言求出0~999之间的所有“水仙花数”并输出
- 《C语言及程序设计》实践参考——水仙花数
- 看到那么多本科同学都发了水仙花数的程序 那么我来用c语言编一个
- 水仙花数(c语言)
- C语言 求出100~999之间的所有“水仙花数”并输出
- 水仙花数&素数&质因数分解的C语言实现
- 10月25日 c语言 打印所有水仙花数
- C语言求1000以内水仙花数
- C语言初级例题数学问题——水仙花数
- C语言 求出100~999之间的所有“水仙花数”并输出