水仙花数的C语言实现
水仙花数,也被称为自恋数,是指一个三位数,其各位数字的立方和等于该数本身,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153,在这篇文章中,我们将学习如何使用C语言来找出所有的水仙花数。
我们需要理解如何获取一个数的各个位上的数字,在C语言中,我们可以通过将这个数除以10来获取它的个位数,通过将这个数除以100来获取它的十位数,通过将这个数除以1000来获取它的百位数,我们可以将这些位上的数字进行立方运算,并将结果相加,如果结果等于原数,那么这个数就是一个水仙花数。
下面是一个C语言的程序,用于找出所有的水仙花数:
#include <stdio.h> #include <math.h> int main() { int i, a, b, c; for (i = 100; i <= 999; i++) { a = i / 100; // 获取百位数 b = (i % 100) / 10; // 获取十位数 c = i % 10; // 获取个位数 if (i == pow(a, 3) + pow(b, 3) + pow(c, 3)) { // 如果这个数是水仙花数 printf("%d ", i); // 输出这个数 } } return 0; }
在这个程序中,我们首先定义了一个循环,用于遍历所有的三位数(从100到999),我们获取每个数的百位数、十位数和个位数,并计算它们的立方和,如果这个和等于原数,那么我们就输出这个数。
运行这个程序,我们可以看到所有的水仙花数都被打印出来了,153、370、371、407等都是水仙花数。
还没有评论,来说两句吧...