欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C语言 一个数学问题:求s=(a^m)!+(b^n)!

程序员文章站 2022-04-16 09:51:29
求s=(am)!+(bn)! //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 结果为: ......

求s=(am)!+(bn)!

//凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

 1 #include<stdio.h>
 2 void main(){
 3     int a, b, m, n, a_m, b_n, sum, power(int, int), fact(int), add(int, int);
 4     printf("Please input a, m, b, n :\n");
 5     scanf("%d %d %d %d", &a, &m, &b, &n);
 6     a_m=fact(power(a, m));    //a_m=(a^m)!
 7     b_n=fact(power(b, n));     //b_n=(b^n)!
 8     sum=add(a_m, b_n);
 9     printf("(%d^%d)!+(%d^%d)!=%d\n", a, m, b, n, sum);
10 }
11 //实现求和 x+y
12 int add(int x, int y){
13     return x+y;
14 }
15 //实现x^y
16 int power(int x, int y){
17     int i, c;
18     c=x;
19     for(i=1; i<y; i++){
20         x=x*c;
21     }
22     return x;
23 }
24 //实现求阶乘 n!
25 int fact(int n){
26     int i,z=1;
27     for(i=1;i<=n;i++){
28         z=z*i;
29     }
30     return z;
31 }

结果为:

C语言 一个数学问题:求s=(a^m)!+(b^n)!