📜  C程序检查阿姆斯壮编号(1)

📅  最后修改于: 2023-12-03 15:00:13.281000             🧑  作者: Mango

C程序检查阿姆斯壮编号

什么是阿姆斯壮数字?

阿姆斯壮数字(Armstrong number),又称自恋数、自幂数、水仙花数,指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个阿姆斯壮数字,因为153=1³+5³+3³。

实现过程

使用循环可以实现检查一个数是否为阿姆斯壮数字。首先,需要确定数的位数。然后,按位分离出每个数字,计算每个数字的n次幂并加起来。最后,将结果与原数比较,相等则为阿姆斯壮数字。

示例代码如下:

 int num, originalNum, remainder, result = 0, n = 0;

 printf("请输入一个整数: ");
 scanf("%d", &num);

 originalNum = num;

 while (originalNum != 0)
 {
     originalNum /= 10;
     ++n;
 }

 originalNum = num;

 while (originalNum != 0)
 {
     remainder = originalNum % 10;

     // 计算每个位上数字的n次幂
     result += pow(remainder, n);
     originalNum /= 10;
 }

 if (result == num)
     printf("%d 是阿姆斯壮数字", num);
 else
     printf("%d 不是阿姆斯壮数字", num);
总结

通过以上代码,我们可以检查一个数是否为阿姆斯壮数字。这个程序使用了循环和数学运算,可以帮助我们更好地理解这个问题。