ps.这次练习的主要是基础,很多以前的原题;
美人松的高度
弱智题
求阶乘的和(高精)
说实话,我真的今天才知道高精可以写在结构体里
不多说了,上代码吧
#include<stdio.h>
#include<memory.h>
#include<algorithm>
#define max(a,b) (a>b?a:b)
struct sb{
int num[1004],len;
void init(){
memset(num,0,sizeof(num));
len=1;
}
void in(){
char ch=getchar();len=0;
while(ch<'0'||ch>'9')ch=getchar();
while(ch>='0'&&ch<='9'){
num[++len]=(ch^48);ch=getchar();
}
std::reverse(num+1,num+len+1);
}
void pr(){
for(int i=len;i>=1;--i)
putchar(num[i]+48);
}
sb operator +(const sb &x)const{
sb temp;
temp.init();
temp.len=max(len,x.len);
for(int i=1;i<=temp.len;++i){
temp.num[i]+=num[i]+x.num[i];
temp.num[i+1]+=temp.num[i]/10;