函数-数字各位阶乘之和

链接:https://ac.nowcoder.com/acm/contest/93960/G链接:https://ac.nowcoder.com/acm/contest/93960/G

来源:牛客网

乎优塔病好了,他又开始研究定义一个新函数,该函数的声明形式为: long long fun(int n); ,其作用为:分解出n的每一位,并计算每一位的阶乘,然后将计算后的结果相加后返回,请编程实现(要求必须使用函数实现,否则不计入成绩)。

输入描述:

一个整数n(1≤n≤1000000)。

输出描述:

一个整数,计算后的结果。

#include<iostream>

#include<string>

using namespace std;

long long factorial(int n)

{

long long result=1;

for(int i=1; i<=n;i++){

result *=i;

}

return result;

}

long long fun(int n) {

string s=to_string(n);

long long sum = 0;

for (char ch:s) {

int digit=ch-'0';

sum+=factorial(digit);

}

return sum;

}

int main() {

int n;

cin>>n;

long long result=fun(n);

cout<<result<<endl;

return 0;

}

全部评论

相关推荐

评论
1
收藏
分享
牛客网
牛客企业服务