高精度乘法
来源:互联网 发布:中山网络自学大专 编辑:程序博客网 时间:2024/05/17 07:41
乘高精
<span style="font-size:18px;">#include<stdio.h>#include<string.h>int a[1000],b[1000],c[1000];void mul(){ int i,j,len; for (i=1;i<=a[0];i++) for (j=1;j<=b[0];j++) { c[i+j-1]+=a[i]*b[j]; c[i+j]+=c[i+j-1]/10; c[i+j-1]%=10; } len=a[0]+b[0]; while ((len>1)&&(c[len]==0)) len--; c[0]=len;}int main(){ int i,len1,len2; char s1[1000],s2[1000]; scanf("%s",s1); len1=strlen(s1); scanf("%s",s2); len2=strlen(s2); for (i=0;i<=len1;i++) a[len1-i]=s1[i]-'0'; a[0]=len1; for (i=0;i<=len2;i++) b[len2-i]=s2[i]-'0'; b[0]=len2; mul(); for (i=c[0];i>=1;i--) printf("%d",c[i]); return 0;}</span>乘单精
<span style="font-size:18px;">#include<stdio.h>int a[100000];void c(int x){ int i,len=a[0]; for (i=1;i<=len;i++) a[i]*=x; for (i=1;i<=len;i++) { a[i+1]+=a[i]/10; a[i]%=10; } while (a[len+1]>=10) { len++; a[len+1]+=a[len]/10; a[len]%=10; } if (a[len+1]!=0) len++; a[0]=len;}void print(){ int i; for (i=a[0];i>=1;i--) printf("%d",a[i]);}int main(){ int n,i; scanf("%d",&n); a[0]=1;a[1]=1; for (i=1;i<=n;i++) { c(i); } print(); return 0;}</span><span style="font-size:24px;"></span>
0 0
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 高精度乘法
- 读取SD卡文件和文件夹
- UML类图符号 各种关系说明以及举例
- pydev for eclipse kepler
- Java注解处理器使用详解
- 欢迎使用CSDN-markdown编辑器
- 高精度乘法
- ListView 与 ScrollView 嵌套使用
- Servlet的几种跳转(redirect、forward)
- Spring 异常处理
- Linux_常用命令
- 记录应用程序运行次数
- FreeRTOS 学习之环境搭建-只需几分钟
- opencv双目测距实现
- instr,left,mid 定位、取内容(字符串)函数