ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:19.80KB ,
资源ID:17936625      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17936625.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高精度算法详解C++版Word文件下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

高精度算法详解C++版Word文件下载.docx

1、a1b1; if(strlen(a1)strlen(b1)|(strlen(a1)=strlen(b1)&strcmp(a1,b1)0) strcpy(n,a1); strcpy(a1,b1); strcpy(b1,n); cout-; la=strlen(a1); lb=strlen(b1);=la-1;i+) ala-i=a1i-48;=lb-1;i+) blb-i=b1i-48; lc=1;i=1;x=0; while(i=la|i=lb) if(ai1) lc-; for(i=lc;3、高精度乘法1 #include char a1256,b1256; int a256,b256,c2

2、56,lena,lenb,lenc,i,j,x; i=1;for(i=1;=lena;i+) for(j=1;j1) lenc-;4、高精度除法cmathstringalgorithm char a1100,c1100; int a100,c100,lena,i,x=0,lenc,b;b;i+) ai+1=a1i-48; for(i=1; ci=(x*10+ai)/b; x=(x*10+ai)%b;lenclena) lenc+;5、高精度除法 #define N 500 int bj(int a, int b, int k1, int k2) /*比较大小函数*/ int i, t, fla

3、g; /*flag作标志位*/ if(k1 flag = 1; /*被除数大于除数返回1*/ else /*被除数和除数位数相等则逐位进行比较*/ i = k1; t = 0; while(t = 0 & i 0) if(ai bi) t = 1; else if(ai = bi) i-; else t = 1; if(i = 0 & t = 0) flag = 2; /*被除数等于除数返回2*/ return flag;int jf(int a, int b, int k1, int k2) /*减法运算*/ int i, k, dN; for(i = 0; i k2; i+) di = b

4、i; /*把除数赋给数组d*/ for(i = k2; N; i+) di = 0; /*d数组无数据的高位置0*/ k = k1 - k2 - 1; /*计算减法起始位置*/ if(k for(i = k2 - 1;= 0; i-) di + k = di; /*移动减数位数与被减数对齐*/ k; /*移动后的其余位置0*/ k1; i+) = di) ai -= di; ai + 1 = ai + 1 - 1; ai = 10 + ai - di; return k;int main() int aN = 0, bN = 0, cN = 0, dN = 0; int i, ka, kb,

5、m, t, t1, t2, k, x, kd, kk; char a1N, b1N; printf(Input 被除数:); scanf(%s, a1); ka=strlen(a1); ka; i+) ai = a1ka - i -1 - 0Input 除数:, b1); kb = strlen(b1); kb; i+) bi = b1kb - i -1 - kd = ka; /*保存被除数位数 */ t2 = bj(a, b, ka, kb); m = 0; do while(aka - 1 = 0) ka-; t = bj(a, b, ka, kb); if(t = 1) k = jf(a

6、, b, ka, kb); ck+; m) m = k; t1 = 0; for(i = k;= m; x = ci + t1; ci = x % 10; t1 = x / 10; if(t1 0) m+; cm = t1; while(t = 1); if(t2 = 0) 商=0n余数= for(i = kd - 1; i-) printf(%d, ai); return(1); if(t2 = 2) 商 = 1n余数 = 0 kk = kd; while(!ckd - 1) kd-;商 = , ci);akk) kk-;n余数 = if(kk 0 for(i = kk;6、数楼梯题目描述

7、Description楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。输入输出格式 Input/output输入格式:一个数字,楼梯数。输出格式:走的方式几种。输入样例:4 输出样例:5(60% N=50 ,100% N=5000)参考程序:#include int az2001,bz2001,cz2001,k; int s;s; if (s=0)cout 0; if (s=1)cout 9) bzj+1+;bzj-=10; j+)azj=czj; for (int i=2000;i-) if (bzi=0&k=0)continue; k=1; cout

8、 c=a/b;c=5) x100-l+; i=100-l; while(xi=10) xi-1+; xi=0; i-;=100-l;i+) coutxi;8、用高精度计算出s=1!+2!+3!+.+n!int jiecheng(int i, int *p, int s) int a = 1, b, jinwei; jinwei = 0; b = 0; while(b 9) jinwei = *(p+b) / 10; *(p+b) = *(p+b) % 10; if(*(p+b+1) = 0 & jinwei != 0) if(b + 1 s) s = b + 1; b+; return s;v

9、oid qiuhe(int x, int *p, int *q) int i = 1, j, ns = 0, jinwei, os = 0, t; while(x = i) j = 0; jinwei = 0; os = jiecheng(i,p,os); while(j = ns | j jinwei = *(q+j) / 10; *(q+j) = *(q+j) % 10; if(*(q+j+1) = 0 & if(j + 1 ns) ns = j + 1; t = 3; os if(t != 3) for(t=os; tns; t-) *(q+t) = *(p+t); ns = os; b

10、reak; t = 2; j+; i+; for(t=ns;=0;, *(q+t); /printf(n%d, ns); int a30000 = 1, b, c30000=0;, &b); qiuhe(b,a,c);9、麦森数 形如2P-1的素数称为麦森数,这时P一定也是个素数。但反过来不一定,即如果P是个素数,2P-1不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是P=3021377,它有909526位。麦森数有许多重要应用,它与完全数密切相关。任务:从文件中输入P(1000P3100000),计算2P-1的位数和最后500位数字(用十进制高精度数表示)输入格式 In

11、put Format文件中只包含一个整数P(10003100000)输出格式 Output Format第一行:十进制高精度数2P-1的位数。第2-11行:十进制高精度数2P-1的最后500位数字。(每行输出50位,共输出10行,不足500位时高位补0) 不必验证2P-1与P是否为素数。样例输入 Sample Input1279样例输出 Sample Output386000000000000000000000000000000000000000000000000000000000000000010407932194664399081925240327364085538615262247266

12、704805319112350403608059673360298012239441732324184842421613954281007791383566248323464908139906605677320762924129509389220345773183349661583550472959420547689811211693677147548478866962501384438260291732348885311160828538416585028255604666224831890918801847068222203140521026698435488732958028878050

13、869736186900714720710555703168729087int r500=0,d500=0,t500;void m(int a,int b)int i,k;memset(t,0,sizeof(t);for(i=0;500;i+) for(k=0;kk+) if(i+k500) ti+k+=ai*bk;else break;499; ti+1+=ti/10; ai=ti%10;a499=t499%10;main() int i,n; r0=1, d0=2;n;coutint(n*log10(2)+1)r0-;char(r499+48); for(i=499;i-)if(!(i%5

14、0)char(ri-1+48);10、过去的姫君题目背景忠诚的骑士Rai为他心爱的公主Hon设计钻石组坠.他正在考虑如何切割能够使钻石最光彩夺目.他手中有K颗小钻石,他知道应该切出N个顶点.传说如果每颗钻石上的三角形总数加起来最少时,能够达到最好效果.题目描述为了更好的研究问题.Rai在平面上画了N个点,任意三点不共线.他要把这N个点分成K组,每组至少三个点.在分完组后 Rai把同组的任意两点之间都连一条边(即所有点对之间都存在一条边),不同组点不连边.那么,形成的图形中,总共最少有多少个由连边作为三角形边的三角形?输入只有一行,N和K,用空格隔开.输出最少的三角形数.输入样例9 2输出样例14数据规模对于100%数据,3*K=Nk; if(n=1000000001&k=11) cout1377410426997245425619835return 0; f0=1; if(n/k=3) g0=1; for(long long i=4;=1+n/k;+i) long long i1=i-1,i2=i-2; if(i1&1)=0) i1=i1/2; else i2=i2/2; int

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1