大数与小数模板(乘法,加法)
来源:互联网 发布:百度网盘搜索 知乎 编辑:程序博客网 时间:2024/05/01 14:08
代码:
#include <stdio.h> #include <string.h> //大数乘小数void mult(char c[],int m,char t[]) { char s[100]; int len=strlen(c); for(int i=0; i<len; i++) s[len-i-1]=c[i]-'0'; int flag,add=0; for(int i=0; i<len; i++) { int k=s[i]*m+add; if(k>=10) { s[i]=k%10; add=k/10; flag=1; } else { s[i]=k; add=0; flag=0; } } while(add) { s[len++]=add%10; add/=10; } for(int i=0; i<len; i++) t[len-1-i]=s[i]+'0'; t[len]='\0'; } //大数加小数 void addt(char a[],int b,char c[]) { int len=strlen(a); char s[100]; for(int i=0; i<len; i++) s[len-i-1]=a[i]-'0'; int add=0; for(int i=0;; i++) { if(i>=len) { s[i]=0; len++; } int k=s[i]+b%10+add; b/=10; if(k>=10) { s[i]=k%10; add=k/10; } else { s[i]=k; add=0; } if(b==0&&add==0)break; } for(int i=0; i<len; i++) c[len-1-i]=s[i]+'0'; c[len]='\0'; } int main() { char c[1000],t[1000],sum[1000]; int m; while(~scanf("%s%d",c,&m)) { mult(c,m,t); printf("%s\n",t); addt(c,m,sum); printf("%s\n",sum); } return 0; }
来源:http://blog.csdn.net/libin56842/article/details/9362861
0 0
- 大数与小数模板(乘法,加法)
- 大数加法与乘法
- 大数加法与乘法
- 大数加法和大数乘法模板函数
- 大数的加法与乘法
- 大数的阶乘(乘法)及加法(详细模板)
- 大数乘法与大数加法 java实现
- 高精度 大数加法 乘法 除法 幂 模板
- 高精度 大数加法 乘法 除法 幂 模板
- 大数乘法(加法)运算
- 大数加法 (模板)
- 大数加法 大数乘法
- 大数乘法(模板)
- 大数模板 大数加法,大数减法,大数乘法,大数除法,大数比较等操作
- 大数小数的加法
- 大数运算(大数加法and大数乘法)
- 大数问题:大数加法 与 大数乘法 最简单大数乘法
- 大数加法和乘法
- POJ 3321 Apple Tree
- Hibernate的inverse,cascade属性简单介绍
- Red5的安装与测试
- 题解:艾米利亚的魔法
- java中重写与重载的区别
- 大数与小数模板(乘法,加法)
- android 进程间通信
- TOJ 3534.Shift Number
- 华为OJ——字符串加密
- Codeforces Round #364 vp
- C++笔记(一):概念
- 刚刚犯了个错误,关于div定位的。
- 孙子兵法与企业经营3
- Hibernate 缓存机制