大数加法 大数乘法
来源:互联网 发布:淘宝茶叶店铺 编辑:程序博客网 时间:2024/04/28 20:28
#include<iostream>#include<stdio.h>#include<string.h>#define MAXLEN 300//大数的长度using namespace std;int Input(char n[])//将大数读入的函数{ char s[MAXLEN]; int i, l; for (i = 0; i < MAXLEN; i++) n[i] = 0; if (scanf("%s", s) < 1) return -1; l = strlen(s); for (i = 0; i < l; i++) //将输入的大数逆置 n[i] = s[l - i - 1] - '0';}int Print(char n[]){ int i; for (i = MAXLEN - 1; i > 0; i--) if (n[i] != 0) break; for (; i >= 0; i--) printf("%d", n[i]); printf("\n"); return 0;}void Add(char a[], char b[], char c[])//大数加法{ int i = 0; for (i = 0; i < MAXLEN; i++) c[i] = a[i] + b[i]; for (i = 0; i < MAXLEN; i++) //处理进位 { if (c[i] >= 10) { c[i + 1] += c[i] / 10; c[i] = c[i] % 10; } }}void Mul(char a[], char b[], char c[])//大数乘法{ int i, j; int alen = strlen(a), blen = strlen(b); for (i = 0; i < MAXLEN; i++) c[i] = 0; for (i = 0; i < alen; i++) for (j = 0; j < blen; j++) //处理进位 { c[i + j] += a[i] * b[j]; if (c[i + j] >= 10) { c[i + j + 1] += c[i + j] / 10; c[i + j] %= 10; } }}int main(){ char a[MAXLEN], b[MAXLEN], c[MAXLEN]; Input(a); Input(b); Add(a, b, c); Print(c); Mul(a, b, c); Print(c); getchar(); getchar(); return 0;}
0 0
- 大数加法 大数乘法
- 大数加法和大数乘法
- 大数加法和大数乘法
- 大数乘法、大数加法实现
- 大数加法、大数乘法、大数减法。Swift。
- 大数乘法,大数加法,大数减法
- 大数加法和乘法
- 大数加法乘法
- 大数减法、加法、乘法
- 大数加法和乘法
- 大数加法与乘法
- 大数加法+乘法
- 大数加法、减法、乘法
- 大数加法与乘法
- 大数加法 及 乘法
- 大数加法乘法
- C++大数加法乘法
- 大数加法和大数乘法的实现
- JSP-九大内置对象
- java写post和get请求
- Adobe Illustrator CS6 出现错误报告16
- stm32的堆栈与大小端问题
- Java网络通信编程经验之谈
- 大数加法 大数乘法
- Android四大组件+Intent详解
- 8张图读懂Java
- swift基础(一):常量和变量、数据类型、数据转换基础等
- CentOS7下的grub2添加win7引导
- LeetCode-9.Palindrome Number
- javap指令
- Common Lisp入门笔记(五)书后习题
- 支持向量机系列----原来你是这样的SVM