水仙花数c语言程序pta三位数
时间: 2023-10-28 12:34:11 浏览: 117
这是一个求解水仙花数的C语言程序:
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, k, n;
for (n = 100; n <= 999; n++)
{
i = n / 100;
j = n / 10 % 10;
k = n % 10;
if (n == pow(i, 3) + pow(j, 3) + pow(k, 3))
{
printf("%d\n", n);
}
}
return 0;
}
相关问题
pta水仙花数c语言程序
可以这样写:
#include <stdio.h>
#include <math.h>
int main()
{
int num, hundreds, tens, units, sum;
for (num = 100; num <= 999; num++)
{
hundreds = num / 100;
tens = num % 100 / 10;
units = num % 10;
sum = pow(hundreds, 3) + pow(tens, 3) + pow(units, 3);
if (sum == num)
printf("%d ", num);
}
return 0;
}
这个程序实现了输出所有的“水仙花数”,即一个三位数各个位上的数字立方和等于该数本身。
水仙花数c语言pta
水仙花数( Narcissistic Number 或者 Pluperfect Digital Invariant),是一种特殊的整数,它的各位数字立方和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在C语言中,检测一个数是否是水仙花数可以编写如下的函数:
```c
#include <stdio.h>
int is_narcissistic(int num) {
int digits[10], sum = 0;
while (num > 0) {
digits[sum] = num % 10; // 获取最后一位并存入数组
num /= 10; // 清除最后一位
sum++;
}
int remaining_sum = 0;
for (int i = 0; i < sum; i++) {
remaining_sum += digits[i] * digits[i] * digits[i]; // 计算立方和
}
return (remaining_sum == num); // 如果两者相等,返回true,否则false
}
int main() {
int number;
printf("Enter a number to check if it's a narcissistic number: ");
scanf("%d", &number);
if (is_narcissistic(number)) {
printf("%d is a Narcissistic number.\n", number);
} else {
printf("%d is not a Narcissistic number.\n", number);
}
return 0;
}
```
阅读全文