高精度之减法模板
来源:互联网 发布:现在还能翻墙的软件 编辑:程序博客网 时间:2024/06/05 17:35
#include<cstdio>#include<string>#include<algorithm>#include<iostream>using namespace std;string s1,s2;bool flag;int a[520],b[520],c[520],l1,l2,len;inline void chuli() { l1=s1.size(),l2=s2.size(); reverse(s1.begin(),s1.end()); for(int i=0;i<l1;i++) a[i+1]=s1[i]-'0'; reverse(s2.begin(),s2.end()); for(int i=0;i<l2;i++) b[i+1]=s2[i]-'0';}inline bool compare() { if(l1>l2) return true; if(l1<l2) return false; for(int i=l1;i;i--) { if(a[i]>b[i]) return true; if(a[i]<b[i]) return false; } return true;}inline void sub1() { len=max(l1,l2); for(int i=1;i<=len;i++) { c[i]+=b[i]-a[i]; if(c[i]<0) { c[i+1]--; c[i]+=10; } } while((c[len]==0)&&(len>1)) len--;}inline void sub2() { len=max(l1,l2); for(int i=1;i<=len;i++) { c[i]+=a[i]-b[i]; if(c[i]<0) { c[i+1]--; c[i]+=10; } } while((c[len]==0)&&(len>1)) len--;}inline void print() { for(int i=len;i>0;i--) printf("%d",c[i]); return;}int main() { cin>>s1>>s2; chuli(); if(!compare()) { printf("-"); sub1(); } else sub2(); print(); return 0;}
0 0
- 高精度之减法模板
- 高精度减法模板
- 高精度减法模板
- 高精度模板(减法)
- 高精度练习之减法
- 高精度之减法运算
- 高精度练习之减法
- p3115 高精度练习之减法
- 3115 高精度练习之减法
- 高精度-codevs-3115高精度练习之减法
- C++高精度算法之高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 124. Binary Tree Maximum Path Sum
- 阿里云服务器的设置ftp无法连接问题
- finalize()方法对垃圾回收的影响
- Java实现运行时编译并动态调用
- ActionBar中建立菜单demo
- 高精度之减法模板
- Java中的ThreadLocal源码解析
- ArrayList、Vector、LinkedList有什么区别?
- 计算机网络复习——概述
- PAT(A) - 1052. Linked List Sorting (25)
- 详谈socket请求Web服务器过程
- Eigen: C++开源矩阵计算工具——Eigen的简单用法
- Android异步机制AsyncTask的学习
- Java面向对象编程(2)-类变量,类方法