33,311
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
double fun(int n)
{
long double f;
if(n==0)
f=1;
else
f=n*fun(n-1);
return f;
};
int main()
{
int n;
cout<<"请输入求阶乘的数n:"<<endl;
cin>>n;
cout<<"n!="<<fun(n)<<endl;
return 0;
}
#include <iostream>
long clc(int n){
if(n==1) return 1;
return n*clc(n-1);
}
int main()
{
long sum;
for(int i = 1; i <= 20; i++)
sum += clc(i);
std::cout << sum << std::endl;
return 0;
}
#include<stdio.h>
#define N 1000 //要计算的N
long s[N]={1,1},n=N,t=2,a=1,b=0;
int main()//雨中飞燕之作
{
for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)
s[a]=(b+=s[a]*t)%10000,b/=10000;
for(printf("%d",s[*s]);--*s>0;) printf("%04d",s[*s]);
return 0;
}
#include <stdio.h>
#define N 10000
int main()
{
static long int r[N] = { 1 }; /*用long int 是为了保证16位编译器也正常*/
int i, j;
int k = 0, l = 0;
for (i = 1; i <= 40; i++)
{
for (j = 0; j <= l; j++)
{
r[j] = r[j] * i + k;
k = r[j] / 10000;
r[j] = r[j] % 10000;
}
if (k)
{
l++;
r[j] = k;
k = 0;
}
j = l;
printf("%d!=%d", i, r[j--]);
for (; j >= 0; j--)
{
printf("%04d", r[j]);
}
printf("\n");
}
return 0;
}