高精度模拟加减乘除
高精度练习
Keep_Trying_Go
无
展开
-
高精度模拟乘法阶乘
方法一:自己写的较繁琐的一种方法#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int maxx=1e5+10;char s1[maxx],s2[maxx];int a[maxx],b[maxx];int c[maxx];int n;int main(){ while(cin>>n){原创 2021-09-10 19:07:52 · 148 阅读 · 0 评论 -
HDU5832(大数取模-秦九昭算法)
大数取模-采用秦九昭算法#include<iostream>#include<algorithm>#include<cmath>#include<cstring>using namespace std;const int maxx=1e7+10;const int mod=10001;int main(){ char A[maxx]; int b; int count=1; while(scanf("%s",A)!=EOF){ i原创 2021-03-17 07:49:15 · 218 阅读 · 0 评论 -
HDU1212(大数取模-秦九昭算法)
秦九昭算法:把一个n次多项式f(x)=a[n]x^n+ a[n-1]x^(n-1)+…+a[1]x+a[0]改写成如下形式:f(x)=a[n] x^n + a[n-1]x^(n-1))+…+a[1]x+a[0]=(a[n]x^(n-1) + a[n-1]x^(n-2)+…+a[1])x+a[0]=((a[n]x^(n-2) + a[n-1]x^(n-3)+…+a[2])x+a[1])x+a[0]=…=(…((a[n]x+a[n-1])x+a[n-2])x+…+a[1])x+a[0].例如5678原创 2021-03-17 07:49:06 · 203 阅读 · 0 评论 -
HDU1250(高精度加法)
自己写的代码超时了:方法一:#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int maxx=2505;char s1[maxx],s2[maxx],s3[maxx],s4[maxx];int a[maxx],b[maxx],c[maxx],d[maxx];int v1[maxx],v2[maxx];原创 2021-02-21 10:13:12 · 188 阅读 · 0 评论 -
HDU1002(高精度模拟加法)
注意格式输出:#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;const int maxx=1e3+10;char s1[maxx],s2[maxx];int a[maxx],b[maxx],c[maxx];int main(){ int t; cin>>t; int count=1; whi原创 2021-02-21 10:13:43 · 228 阅读 · 0 评论 -
poj2635(素数筛+高精度求模+同余定理)
全解题报告索引目录 -> 【北大ACM – POJ试题分类】转载请注明出处:http://exp-blog.com大致题意:给定一个大数K,K是两个大素数的乘积的值。再给定一个int内的数L问这两个大素数中最小的一个是否小于L,如果小于则输出这个素数。解题思路:首先对题目的插图表示无语。。。高精度求模+同余模定理1、 Char格式读入K。把K转成千进制Kt,同时变为int型。把数字往大进制转换能够加快运算效率。若用十进制则耗费很多时间,会TLE。千进制的性质与十进制相似。例转载 2021-02-21 10:14:30 · 225 阅读 · 0 评论 -
poj1306(高精度模拟乘除法)
#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<cstdio>using namespace std;const int maxx=1e3+10;char s1[maxx],s2[maxx];int a[maxx],b[maxx],c[maxx];int c1[maxx];int b1[maxx],a1[maxx];in原创 2021-02-21 10:15:23 · 139 阅读 · 0 评论 -
poj2756(高精度加减)
是不是我没有理解这个题目,就是A+B高精度加减,为什么我的代码有问题呢?下面是自己写的代码,还是存在问题!#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;const int maxx=1e5+10;char s1[maxx],s2[maxx];char s11[maxx],s12[maxx];char s3[ma原创 2021-02-20 10:21:29 · 150 阅读 · 0 评论 -
poj1503(高精度模拟加法)
题意:将两个大数相加。#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int maxx=1003;char s1[maxx][maxx];char s2[maxx];int a[maxx];int b[maxx];int c[maxx];int main(){ memset(a,0,sizeof原创 2021-02-19 10:36:01 · 172 阅读 · 0 评论 -
poj2602(高精度模拟加法)
高精度加法:这道题是把数字竖着写,还是两个大数相加,稍不注意就超时了,但是前导零这次是要保留的。#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<cstdio>using namespace std;typedef long long ll;const int maxx=1e6+10;char s1[maxx],s2[maxx原创 2021-02-19 10:33:22 · 151 阅读 · 0 评论 -
poj3508(高精度模拟减法)
下面这段是我超时的代码:我自己做这道的理解:首先是原数字X乘以10再加上X,也就是Y=10*X+X;如果能找到Y(1…… 10之间的一个数),即可算出X(算出的X要保证是和题目给出的数字是数位相同的),但是我这道题正是这样做的,所以还是要超时的。#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;const int ma原创 2021-02-19 10:23:53 · 196 阅读 · 0 评论 -
HDU1261(高精度乘法+高精度除法)
该代码还是超时的,也不知道该怎么优化了:#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int maxx=1e3+10; int a1[maxx],b1[maxx];int a[maxx];int b2[maxx];int b[maxx];char s1[maxx];int c[maxx];in原创 2021-02-21 10:12:32 · 199 阅读 · 0 评论 -
HDU1402(高精度乘法)
我写这道题超时了,看大神用FFT写的,没有看懂。以下这段代码还是超时的,不好意思,只能写到这里了,FFT也看不懂,还在继续学习中。#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<cstdio>using namespace std;const int maxx=1e5+10;char s1[maxx],s2[maxx];i原创 2021-02-21 10:12:55 · 181 阅读 · 2 评论 -
HDU1042(高精度模拟乘法)
方法一超时:#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int maxx=1e4+10;char s1[maxx],s2[maxx];int a[maxx],b[maxx];int c[maxx];int n;int main(){ while(cin>>n){ a[1]原创 2021-02-20 10:18:35 · 173 阅读 · 0 评论 -
poj2389(高精度模拟乘法)
#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;const int maxx=50;char s1[maxx],s2[maxx];int a[maxx],b[maxx],c[2*maxx];int main(){ scanf("%s",&s1); scanf("%s",&s2); int n=原创 2021-02-20 10:21:50 · 224 阅读 · 0 评论