简单而高效!n的值不能超过13,否则会因为数据溢出而导致结果错误。
#include
int main()
{
long i,n,m,sum=0;
scanf("%d",&n);
for(i=m=1;i<=n;i++)
{
m*=i;
sum+=m;
}
printf("%d\n",sum);
return 0;
}
#include
int func(int n)
{
if(n==1)
return 1;
else
return n*func(n-1);
}
int main()
{
int i,n,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=func(i);
printf("%d\n",sum);
return 0;
}
#include "stdio.h"
#include
int main(){
int multi(int a);
int i,sum = 0,num;
printf("Please input a number:");
scanf("%d", &num);
for(i = 0; i < num; i ++){
sum += multi(i+1);
}
printf("Sum is %d", sum);
getch();
return 0;
}
int multi(int a){
if(a < 0){
printf("Unexpected error!");
}else if(1 == a){
return 1;
}else return a*multi(a - 1);
}
后面的!是干嘛的?如果有!就用for循环然后拼接成一个字符串!
}*/
#include
void main()
{
int t=1,sum=0;
int n;
printf("请输入n:\n");
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
t*=i;
sum+=t;
}
printf("%d",sum);
}