编程练习:计算正整数各位的阶乘和

思路:取余获取正整数每个位置上的数字,分别计算阶乘,再求和

※注意阶乘和的范围※ 

//输入正整数N,计算r1!+r2!+r3!+……+rn!并输出,其中N=r1r2r3…rn
//取余获取每一位的数字
#include<stdio.h>
long long jc(int x){
	long long data;
	int i;
	data=1;i=1;
	while(i<=x){
		data=data*i;//累乘 
		i++;
	}
	return data;
}
int main(){
	long long sum;
	int num,k;
	sum=0;
	scanf("%d",&num);
	while(num<=0){
		printf("输入正整数:"); 
		scanf("%d",&num);
	} 
	while(num!=0){
		k=num%10;
		sum=sum+jc(k);
		//printf("阶乘为:%lld",jc(k));
		num=num/10;
	}
	printf("计算结果为:%lld",sum);
	return 0;
} 
发布了18 篇原创文章 · 获赞 19 · 访问量 6761

猜你喜欢

转载自blog.csdn.net/qq_37209590/article/details/104123601
今日推荐