求f(k)=k^k(k=1...n)的前n项和。
程序实现:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
long long My_Mul_Sum(int *n)//封装了一个求k^k的前n项和的函数
{
int k = 1;
long long sum = 0;//定义为long long是为了防止数据较大,容易溢出
for (k = 1; k <= n; k++)
{
int count = 0, mul = 1;//count是用来计数的
while (count!=k)
{
mul = mul*k;//mul表示k^k
count++;
}
sum = sum + mul;//sum为求n项和
}
return sum;
}
int main()
{
int num=0;
printf("请输入一个正整数:");
scanf("%d", &num);
long long ret = My_Mul_Sum(num);
printf("所求的和为:%I64d\n", ret);
system("pause");
return 0;
}
运行结果1:
请输入一个正整数:3
所求的和为:32
请按任意键继续. . .
运行结果2:
请输入一个正整数:10
所求的和为:1815136725
请按任意键继续. . .
时间: 2024-10-01 18:31:50