本帖最后由 风过无痕1989 于 2020-10-25 22:32 编辑 //给出一个正整数,求小于等于该正整数 m 的所有自然数的 n 次方数的阶乘之和
#include<stdio.h>
int main()
{
int square(int m,int n); // 定义求N次方函数
int factorail(int x); // 定义求阶乘函数
int i,k,m,n;
double sum = 0;
scanf("%d%d",&m,&n);
for(i = 1;i <= m;i++)
{
k = square(i,n); // 求 m 的 n 次方
sum = sum + factorail(k); // 嵌套调用求N次方的阶乘函数
}
printf("%d 的 %d 次方的阶乘和是:%lf\n",m,n,sum);
}
int square(int m,int n)
{
int j,p = 1;
for (j = 1;j <= n;j++)
{
p *= m;
}
return p;
}
int factorail(int x)
{
int j,y = 1.0;
for(j = 1;j <= x;j++)
{
y *= j;
}
return y;
}
|