洛谷【P2005】A/B Problem II
题目传送门:https://www.luogu.org/problemnew/show/P2005
高精除低精:https://www.cnblogs.com/AKMer/p/9724556.html
高精度除法板子。和高精除低精不同的是,除数不能直接去和当前位相除,而是能减一次算一次……
时间复杂度:\(O(len)\)
空间复杂度:\(O(len)\)
代码如下:
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=25005;
char s[maxn];
struct Bignum {
	int num[maxn];
	void make() {
		num[0]=strlen(s+1);
		for(int i=1;i<=num[0];i++)
			num[i]=s[num[0]-i+1]-'0';
	}
	void print() {
		for(int i=num[0];i;i--)
			printf("%d",num[i]);
	}
	bool operator>=(const Bignum &a)const {
		if(num[0]!=a.num[0])return num[0]>a.num[0];
		for(int i=num[0];i;i--)
			if(num[i]!=a.num[i])return num[i]>a.num[i];
		return 1;
	}//比较
	Bignum operator-(const Bignum &a)const {
		Bignum c;memcpy(c.num,num,sizeof(c.num));
		for(int i=1;i<=c.num[0];i++) {
			if(c.num[i]<a.num[i])c.num[i+1]--,c.num[i]+=10;
			c.num[i]-=a.num[i];
		}
		while(!c.num[c.num[0]]&&c.num[0]>1)c.num[0]--;
		return c;
    }//高精度减法
}a,b,c;
void cpy(Bignum &a,int id,Bignum fake) {
	for(int i=1;i<=fake.num[0];i++)
		a.num[id+i-1]=fake.num[i];
	a.num[0]=fake.num[0]+id-1;
}//把fake丢到a里,并且以id位开始,1到id-1都是0
Bignum operator/(Bignum a,Bignum b) {
	Bignum c;memset(c.num,0,sizeof(c.num));
	c.num[0]=a.num[0]-b.num[0]+1;
	for(int i=c.num[0];i;i--) {
		Bignum tmp;memset(tmp.num,0,sizeof(tmp.num));
		cpy(tmp,i,b);while(a>=tmp)c.num[i]++,a=a-tmp;//能减就减
	}while(c.num[0]>1&&!c.num[c.num[0]])c.num[0]--;
    return c;
}
int main() {
	scanf("%s",s+1);a.make();
	scanf("%s",s+1);b.make();
	c=a/b;c.print();
	return 0;
}
洛谷【P2005】A/B Problem II的更多相关文章
- 洛谷 P2005 A/B Problem II
		P2005 A/B Problem II 题目背景 为了让大家紧张的心情放松一下,这一题题是一道非常简单的题目. 题目描述 给出正整数N和M,请你计算N div M(N/M的下取整). 输入输出格式 ... 
- 洛谷1001 A+B Problem
		洛谷1001 A+B Problem 本题地址:http://www.luogu.org/problem/show?pid=1001 题目描述 输入两个整数a,b,输出它们的和(|a|,|b|< ... 
- 洛谷1303 A*B Problem 解题报告
		洛谷1303 A*B Problem 本题地址:http://www.luogu.org/problem/show?pid=1303 题目描述 求两数的积. 输入输出格式 输入格式: 两个数 输出格式 ... 
- 洛谷1601 A+B Problem(高精) 解题报告
		洛谷1601 A+B Problem(高精) 本题地址:http://www.luogu.org/problem/show?pid=1601 题目背景 无 题目描述 高精度加法,x相当于a+b pro ... 
- 洛谷P1865 A % B Problem
		1.洛谷P1865 A % B Problem 题目背景 题目名称是吸引你点进来的 实际上该题还是很水的 题目描述 区间质数个数 输入输出格式 输入格式: 一行两个整数 询问次数n,范围m 接下来n行 ... 
- 洛谷 P2616 [USACO10JAN]购买饲料II Buying Feed, II
		洛谷 P2616 [USACO10JAN]购买饲料II Buying Feed, II https://www.luogu.org/problemnew/show/P2616 题目描述 Farmer ... 
- 洛谷 P1182 数列分段 Section II
		洛谷 P1182 数列分段 Section II 洛谷传送门 题目描述 对于给定的一个长度为N的正整数数列A-iA−i,现要将其分成M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. ... 
- 洛谷P3412 仓鼠找$Sugar\ II$题解(期望+统计论?)
		洛谷P3412 仓鼠找\(Sugar\ II\)题解(期望+统计论?) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327573 原题链接:洛谷P3412 ... 
- 洛谷P1288 取数游戏II(博弈)
		洛谷P1288 取数游戏II 先手必胜的条件需要满足如下中至少 \(1\) 条: 从初始位置向左走到第一个 \(0\) 的位置,经过边的数目为偶数(包含 \(0\) 这条边). 从初始位置向右走到第一 ... 
- 洛谷P1919 A*B problem 快速傅里叶变换模板 [FFT]
		题目传送门 A*B problem 题目描述 给出两个n位10进制整数x和y,你需要计算x*y. 输入输出格式 输入格式: 第一行一个正整数n. 第二行描述一个位数为n的正整数x. 第三行描述一个位数 ... 
随机推荐
- NumPy入门基础【2】
			通用函数ufunc 一元ufunc举例: 1.abs.fabs:计算绝对值,fabs更快 2.sqrt:计算各元素的平方根,相当于arr0.5 3.square:计算各元素的平方根,相当远arr2 4 ... 
- UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-3: ordinal not in range(256)
			今天使用MySQLdb往MySQL插入中文数据遇到一个异常: UnicodeEncodeError: 'latin-1' codec can't encode characters in positi ... 
- OC中第三方库MJExtension的使用
			MJExtension是一套常用的"字典和模型之间互相转换"的框架,在项目中也使用过,现在记录一下.随着Swift的普及,在Swift中也有一个类似功能的框架HandyJSON 也 ... 
- Apache Shiro 使用手册(四)Realm 实现(转发:http://kdboy.iteye.com/blog/1169631)
			在认证.授权内部实现机制中都有提到,最终处理都将交给Real进行处理.因为在Shiro中,最终是通过Realm来获取应用程序中的用户.角色及权限信息的.通常情况下,在Realm中会直接从我们的数据源中 ... 
- 磁盘检测SMART工具
			题记: 做过一些关于硬盘的调研任务,当时搜集很多资料,不过现在没有,从网上找了一篇关于SMART的介绍,感觉基本上都是比较全面了. 首先各大硬盘厂商生产的硬盘基本都是会遵循SMART的技术标准的,当然 ... 
- 使用阿里云的PyPI源
			方法1:(1)创建pip.conf文件 (2).编辑如下内容 [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] ... 
- 获取comboBox里面的item使用的方法
			使用currentIndex()或者currentText() void Widget::calc() { int first = ui->firstLineEdit->text().to ... 
- mssql-在一个特定的会话停止出发器
			用SET CONTEXT_INFO来实现 --在某个会话里设置 SET CONTEXT_INFO 0x8888 --在触发器里判断 ) SELECT @Cinfo = Context_Info() 原 ... 
- python基础6 ----python函数
			python函数 一.函数的参数 1.函数的参数从调用的角度来讲可以分为形式参数和实际参数,也可叫形参和实参. 形参:变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元. ... 
- 关于mosquitto_internal.h:40:25:#include <uuid/uuid.h>  致命错误的解决
			一.安装mosquitto1.4的时候使用make的时候报以下错误: mosquitto_internal.h:40:25: 致命错误:openssl/ssl.h:没有那个文件或目录 #include ... 
