大数减法
来源:互联网 发布:淘宝微淘达人v任务平台 编辑:程序博客网 时间:2024/04/29 08:20
大数减法
问题描述:
给你两个大数,输出,他们的差
输入:
输入n,有n组数,接下输入两个数
输出:
输出他们的差
输入样例:
3
88 5
2 999999999999
456786798787 4564564857921456645789789
输出样列:
83
-999999999997
-4564564857920999858991002
代码:
#include<iostream> using namespace std; string a,b; string substr(string a,string b ) { int i,j,k,c,s,flag=1; string s1,s2;if(a.size()<b.size()||a.size()==b.size()&&a.compare(b)<0) { s1=a; a=b; b=s1; flag=0; } while (a.length()-1>b.length()-1) b='0'+b; //字符短的加前导零,使他们一样长 for (i=a.length()-1; i>=0; i--) //减,规整 { if(a[i]>=b[i]) a[i]=a[i]-b[i];else {a[i]=a[i]-b[i]; c=(a[i]*(-1)/10)+1;a[i]=a[i]+c*10;a[i-1]=a[i-1]-c;} }for(i=0;i<a.length();i++) // 去零 if(a[i]=='0'); else break; for(j=i,k=0;j<a.length();j++,k++) //转化字符 a[k]=a[j]+48; if(flag) { s2=a; } else { s2="-"; s2+=a; } return s2;} int main() { int cas;cin>>cas;while(cas--){ cin>>a; cin>>b ; cout<<substr(a,b)<<endl; } return 0;}
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- 大数减法
- JNI学习篇 -- 简介
- ActivityGroup中出现的Unable to add window -- token
- Java编程中“为了性能”需做的26件事
- 什么是异构计算
- hdu 1007最近点对
- 大数减法
- virtual box 文件夹共享
- android App title theme
- OpenGL与GLSL之间变量的传递
- mysql select into注意事项
- 我要安装Magento主题
- gdb c++
- UIAlertView的使用方法
- 单链表逆置、正向排序、打印、寻找中间元素