判断是不是水仙花数c语言
时间: 2024-12-17 21:31:37 浏览: 20
判断是否是水仙花数是指,一个三位数(如153),它的每个位上的数字立方和等于它本身。例如,1^3 + 5^3 + 3^3 = 153,所以153是一个水仙花数。在C语言中,你可以通过以下步骤编写程序来检查一个整数是否是水仙花数:
#include <stdio.h>
#include <math.h>
int is narcissistic(int num) {
int sum = 0;
int temp = num; // 将数字分解
while (temp != 0) {
int digit = temp % 10;
sum += pow(digit, 3); // 累加每一位立方
temp /= 10;
}
return (num == sum); // 如果原始数和累加的立方数相等,则是水仙花数
}
int main() {
int num;
printf("请输入一个三位数: ");
scanf("%d", &num);
if (is_narcissistic(num)) {
printf("%d 是水仙花数\n", num);
} else {
printf("%d 不是水仙花数\n", num);
}
return 0;
}
相关问题
判断水仙花数c语言程序
以下是判断水仙花数的C语言程序:
#include <stdio.h>
int main() {
int num, digit, sum = 0, temp;
printf("输入一个三位数:");
scanf("%d", &num);
temp = num;
while (temp != 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == num)
printf("%d 是水仙花数\n", num);
else
printf("%d 不是水仙花数\n", num);
return 0;
}
程序逻辑如下:
- 首先从用户输入读取一个三位数
- 将这个数存储在变量
num
中,并将其赋值给变量temp
- 通过循环取出变量
temp
的每个数字,并计算其立方和,存储在变量sum
中 - 如果变量
sum
的值等于原始输入的数字num
,则输出该数字是水仙花数;否则输出不是水仙花数。
判断水仙花数c语言编码
以下是判断水仙花数的C语言代码:
#include <stdio.h>
void main () {
int i,j,k,n;
printf ("result is:");
for (n=100; n<1000;n++) {
i=n/100;//分离出百分位
j=(n%100)/10;//分离出十分位
k=(n%100)%10;//分离出个位
if (n==i*i*i+j*j*j+k*k*k)
printf ("%d ", n);
}
printf ("\n");
}
该代码通过循环遍历100到999之间的所有数,分离出每个数的百位、十位和个位,然后判断该数是否等于它的各位数字的立方和。如果是,则输出该数,即为水仙花数。
相关推荐
















