OpenJudge 2737 大整数除法
链接地址:http://bailian.openjudge.cn/practice/2737/
题目:
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- 求2个大的正整数相除的商
- 输入
- 第1行是测试数据的组数n,每组测试数据占2行,第1行是被除数,第2行是除数。每组测试数据之间有一个空行,每行数据不超过100个字符
- 输出
- n行,每组测试数据有一行输出是相应的整数商
- 样例输入
3
2405337312963373359009260457742057439230496493930355595797660791082739646
2987192585318701752584429931160870372907079248971095012509790550883793197894 10000000000000000000000000000000000000000
10000000000 5409656775097850895687056798068970934546546575676768678435435345
1- 样例输出
0
1000000000000000000000000000000
5409656775097850895687056798068970934546546575676768678435435345- 提示
- 除法比较困难,建议大家最后做这题
思路:
套用大整数模板
代码:
#include <iostream>
#include <cstdio>
#include <string>
using namespace std; string sub(string s1,string s2)
{
int flag = ;
if(s1.length()<s2.length() || (s1.length()==s2.length() && s1 < s2))
{
flag = ;
string temp=s1;
s1=s2;
s2=temp;
} int i,j;
for(i=s1.length()-,j=s2.length()-;i>=;i--,j--)
{
s1[i]=char(s1[i]-(j>=?s2[j]-'':)); //注意细节
if(s1[i]-''<)
{
s1[i]=char(s1[i] + );
s1[i-]--;
}
} for(i = ; i < s1.length(); i++)
{
if(s1[i] != '') break;
}
if(i == s1.length()) i = s1.length()-;
s1 = s1.substr(i); if(flag) s1 = "-" + s1; return s1;
}
string sum(string s1,string s2)
{
if(s1.length()<s2.length())
{
string temp=s1;
s1=s2;
s2=temp;
}
int i,j;
for(i=s1.length()-,j=s2.length()-;i>=;i--,j--)
{
s1[i]=char(s1[i]+(j>=?s2[j]-'':)); //注意细节
if(s1[i]-''>=)
{
s1[i]=char((s1[i]-'')%+'');
if(i) s1[i-]++;
else s1=''+s1;
}
}
return s1;
} string div(string s1,string s2)
{
string res = "";
if(s1.length()<s2.length() || (s1.length()==s2.length() && s1 < s2))
{
return "";
} int i;
int sub_length = s1.length() - s2.length();
for(i = sub_length; i >= ; i--)
{
string s3(i,'');
string s4 = s2 + s3; do
{
string temp = sub(s1,s4);
if(temp[] == '-') break;
else
{
s1 = temp;
res = sum(res,("" + s3));
}
}while();
}
return res;
} int main()
{
int n;
cin>>n;
string str1,str2;
while(n--)
{
cin>>str1>>str2;
cout<<div(str1,str2)<<endl;
}
return ;
}
OpenJudge 2737 大整数除法的更多相关文章
- OpenJudge 2980 大整数乘法
链接地址:http://bailian.openjudge.cn/practice/2980/ 题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 求两个不超过200位的非负整数的积 ...
- 九度OJ 1125:大整数的因子 (大数运算)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:974 解决:494 题目描述: 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. ...
- 自己动手写Java大整数《3》除法和十进制转换
之前已经完毕了大整数的表示.绝对值的比較大小.取负值.加减法运算以及乘法运算. 详细见前两篇博客(自己动手写Java * ). 这里加入除法运算. 另外看到作者Pauls Gedanken在blog( ...
- AC日记——大整数的因子 openjudge 1.6 13
13:大整数的因子 总时间限制: 1000ms 内存限制: 65536kB 描述 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. 输入 ...
- Ac日记——大整数减法 openjudge 1.6 11
11:大整数减法 总时间限制: 1000ms 内存限制: 65536kB 描述 求两个大的正整数相减的差. 输入 共2行,第1行是被减数a,第2行是减数b(a > b).每个大整数不超过20 ...
- AC日记——大整数加法 openjudge 1.6 10
10:大整数加法 总时间限制: 1000ms 内存限制: 65536kB 描述 求两个不超过200位的非负整数的和. 输入 有两行,每行是一个不超过200位的非负整数,可能有多余的前导0. 输出 ...
- openjudge计算概论-大整数加法
/*=====================================================================1004:大整数加法总时间限制: 1000ms 内存限制: ...
- 大整数四则运算(vector与数组两种版本实现)
每逢大整数四则运算,都会怯懦,虽是算法竞赛必会的东西,也零散的学过,简单的总结过,但不成体系的东西心里一直没底. 所以今天消耗了大量的卡路里,啃了几套模板之后终于总结成了一套自己的模板 再也不用担心大 ...
- ACM学习之路————一个大整数与一个小整数不得不说得的秘密
这个相对于两个大整数的运算来说,只能说是,low爆了. 只要利用好除法的性质,这类题便迎刃而解.O(∩_∩)O哈哈~ //大整数除一个int数 #include<iostream> #in ...
随机推荐
- linux下hexdump和od命令:显示文件十六进制格式
Linux指令: od 示例用法: od -c hello Linux指令: od od命令用户通常使用od命令查看特殊格式的文件内容.通过指定该命令的不同选项可以以十进制.八进制.十六进 ...
- iOS8 CLLocationManager 、CLGeocoder获取地理位置
最近在ios8.0使用CLLocationManager定位服务,发现老不能定位,查看设置菜单中的项也是处于未知状态.想起之前都有一个弹出框提示用户是否允许定位,这次一直没有出现了.原来ios8.0下 ...
- Floating-Info---Android
https://github.com/alt236/Floating-Info---Android
- IE jquery mouseenter,mouseover超奇葩问题
做了个项目,结构很简单 <div class="index-main" data-url="./img/index_default.jpg"> &l ...
- dynamic_cast用法
dynamic_cast < type-id > ( expression ) 该运算符把expression转换成type-id类型的对象.Type-id必须是类的指针.类的引用或者vo ...
- Jenkins 安装与配置
1. 软件准备 a. 下载 jenkins.war:https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins. 本文以 Jenkins 为演示版 ...
- iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求
这篇文章会提供一种在 Cocoa 层拦截所有 HTTP 请求的方法,其实标题已经说明了拦截 HTTP 请求需要的了解的就是 NSURLProtocol. 由于文章的内容较长,会分成两部分,这篇文章介绍 ...
- ie7兼容性 绝对定位元素之间的遮盖问题
今天在调试ie7兼容性问题的时候,遇到了一个棘手的问题,解决了一天无果,晚上看到一位大神写的心得,最终解决. 网址:http://www.jb51.net/css/148606.html#commen ...
- docker container link
http://blog.csdn.net/kongxx/article/details/38676917
- AppUse学习笔记
AppUse学习笔记http://www.docin.com/p-786350740.html