阶乘和数:
一个正整数等于组成它的各位数字的阶乘之和
eg,145 = 1! + 4! + 5!
一个正整数等于组成它的各位数字的阶乘之和
eg,145 = 1! + 4! + 5!
#include<stdio.h>
#include<stdlib.h>
long factorial(int x);
int main() {
int num1,num2,num3;
int choose;
int flag;
flag = 0;
printf("选择输入的数的位数(3,2,1): ", choose);
switch(choose) {
case 1: {
scanf("%d", &num1);
if (num1 == factorial(num1))
flag = 1;
break;
}
case 2: {
scanf("%d", &num2);
if (num2 == factorial(num2/10) + factorial(num2%10))
flag = 1;
break;
}
case 3: {
scanf("%d", &num3);
if (num3 == factorial(num3/100) + factorial(num3%100/10) + factorial(num3%10))
flag = 1;
break;
}
default:
flag = 0;
}
if (flag)
printf("True\n");
else
printf("False\n");
return 0;
}
long factorial(int x) {
if (0 == x)
return 1;
int i;
long p = 1;
for (i = 1; i <= x; i++)
p *= i;
return p;
}