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 }
结果为: