高精度板子
高精度
然而我当然是不会去手搓板子的,所以我就粘了SoyTony学长dalao的高精度板子过来
高精度
#define ll long long #define base 10000 struct largenum{//Tony_dalao的高精度板子 int num[10005]; inline void scan(){ char s[10005]; scanf("%s",s+1); int len=strlen(s+1); for(int i=len;i>=1;i-=4){ int j=max(i-3,1); int sum=0; while(j<=i){ sum=sum*10+(s[j++]-'0'); } num[++num[0]]=sum; } } inline void print(){ printf("%d",num[num[0]]); for(int i=num[0]-1;i>=1;i--){ printf("%04d",num[i]); } printf(" "); } largenum operator *(const largenum &tmp)const{ largenum res; memset(res.num,0,sizeof(res.num)); res.num[0]=num[0]+tmp.num[0]; for(int i=1;i<=num[0];i++){ for(int j=1;j<=tmp.num[0];j++){ res.num[i+j-1]+=num[i]*tmp.num[j]; res.num[i+j]+=res.num[i+j-1]/base; res.num[i+j-1]%=base; } } while(res.num[res.num[0]]) res.num[0]++; while(!res.num[res.num[0]]&&res.num[0]>1) res.num[0]--; return res; } largenum operator *(const int &tmp)const{ largenum res; memset(res.num,0,sizeof(res.num)); res.num[0]=num[0]; int laz=0; for(int i=1;i<=res.num[0];i++){ res.num[i]=num[i]*tmp+laz; laz=res.num[i]/base; res.num[i]=res.num[i]%base; } while(laz){ res.num[++res.num[0]]=laz%base; laz/=base; } while(res.num[res.num[0]]) res.num[0]++; while(!res.num[res.num[0]]&&res.num[0]>1) res.num[0]--; return res; } int operator %(const int &tmp)const{ int res=0; for(int i=num[0];i>=1;i--){ res=(res*base+num[i])%tmp; } return res; } largenum operator /(const int &tmp)const{ largenum res; memset(res.num,0,sizeof(res.num)); res.num[0]=num[0]; ll laz=0; for(int i=res.num[0];i>=1;i--){ res.num[i]=(laz*base+num[i])/tmp; laz=(laz*base+num[i])%tmp; } while(!res.num[res.num[0]]&&res.num[0]>1) res.num[0]--; return res; } }; inline largenum ksm(largenum x,int p){ largenum res; memset(res.num,0,sizeof(res.num)); res.num[0]=res.num[1]=1; while(p){ if(p&1){ res=res*x; } x=x*x; p>>=1; } return res; }
分类:
OI杂项
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现