弄错了,是#include<iostream>
//#include<stdio.h>
using namespace std;
int main(){
//freopen("o.in", "r", stdin);
//freopen("o.out", "w", stdout);
unsigned long long int n,i,num=0,i2,num2;
cin>>n;
for(i=1;i<=n;i++){
for(i2=i,num2=1;1<=i2;i2--){
num2*=i2;
}
num+=num2;
}
cout<<num;
return 0;
}
by pencil @ 2018-11-03 11:10:11
那就用高精啊
by resftlmuttmotw @ 2018-11-03 11:10:46
```
#include<iostream>
//#include<stdio.h>
using namespace std;
int main(){
//freopen("o.in", "r", stdin);
//freopen("o.out", "w", stdout);
unsigned long long int n,i,num=0,i2,num2;
cin>>n;
for(i=1;i<=n;i++){
for(i2=i,num2=1;1<=i2;i2--){
num2*=i2;
}
num+=num2;
}
cout<<num;
return 0;
}
```
------------
~~就这code~~
能得50?!
by resftlmuttmotw @ 2018-11-03 11:12:58
```
#include<stdio.h>
int len=1,t[10001],ans[10001],anslen,n;
int max(int x,int y)
{
if(x<y)
return y;
if(x>=y)
return x;
}
void jiecheng(int v)
{
for(int i=1;i<=len;i++)
t[i]*=v;
int i=1;
while(t[i]>9||i<len)
{
t[i+1]+=t[i]/10;
t[i]%=10;
i++;
}
len=i;
}
void jia()
{
for(int i=1;i<=len;i++)
{ans[i]+=t[i];
if(ans[i]>9)
{
ans[i+1]+=ans[i]/10;
ans[i]%=10;
anslen=max(anslen,i+1);
}
anslen=max(anslen,i);
}
}
int main()
{
scanf("%d",&n);
t[len]=1;
for(int i=1;i<=n;++i)
{jiecheng(i);
jia();}
for(int i=anslen;i>=1;--i)
printf("%d",ans[i]);
return 0;
}
```
by wwz20050323 @ 2018-11-03 11:18:48
@[pencil](/space/show?uid=137723)
by wwz20050323 @ 2018-11-03 11:19:00
本题需要高精乘&高精加
高精加(非负数的)
```cpp
#include<cstdio>
#include<string>
#include<iostream>
using namespace std;
string twosum(string a,string b)
{
string c;
int i=a.size()-1,j=b.size()-1,carry=0;
for(;i>=0||j>=0;i--,j--)
{
int s1= i>=0? a[i]-'0':0;
int s2= j>=0? b[j]-'0':0;
int s3=(s1+s2+carry)%10;
carry=(s1+s2+carry)/10;
c.insert(c.begin(),s3+'0');
}
if(carry) c.insert(c.begin(),'1');
return c;
}
int main()
{
string a,b;
cin>>a>>b;
puts(twosum(a,b).c_str());
}
```
by resftlmuttmotw @ 2018-11-03 11:19:17
@楼上几位大佬
double 应该就够了
by 洛倾然 @ 2018-11-09 18:03:57