[tem]高精度2
从1开始
const int N=;
const int B=1e4,L=; struct big{
int size,d[L];
big(int a=):size(a){memset(d,,sizeof(int)*L);}
}; void jia(big &a,big &b){
int g=,i;
for(i=;;i++){
if(g==&&i>a.size&&i>b.size) break;
int tmp=g;
if(i<=a.size) tmp+=a.d[i];
if(i<=b.size) tmp+=b.d[i];
a.d[i]=tmp%B;
g=tmp/B;
}
a.size=i-;
} void cheng(big &a,big &b,big &c){
for(int i=;i<=a.size;i++){
int g=;
for(int j=;j<=b.size;j++){
c.d[i+j-]+=a.d[i]*b.d[j]+g;
g=c.d[i+j-]/B;
c.d[i+j-]%=B;
}
c.d[i+b.size]=g;
}
c.size=a.size+b.size;
while(c.d[c.size]==&&c.size>) c.size--;
} void chengInt(big &a,int k){
int g=,i;
for(i=;i<=a.size;i++){
int tmp=a.d[i]*k;
a.d[i]=(tmp+g)%B;
g=(tmp+g)/B;
}
while(g){
a.d[++a.size]=g%B;
g/=B;
}
} void copy(big &t,big &s){
t.size=s.size;
for(int i=;i<=s.size;i++) t.d[i]=s.d[i];
} big max(big &a,big &b){
if(a.size>b.size) return a;
if(a.size<b.size) return b;
for(int i=a.size;i>=;i--){
if(a.d[i]>b.d[i]) return a;
if(a.d[i]<b.d[i]) return b;
}
return a;
} void print(big &a){
for(int i=a.size;i>=;i--){
if(i==a.size);
else if(a.d[i]<) cout<<"";
else if(a.d[i]<) cout<<"";
else if(a.d[i]<) cout<<"";
cout<<a.d[i];
}
cout<<"\n";
}
[tem]高精度2的更多相关文章
- [tem]高精度1
1 //倒着存 B取的低精最大值所以简化了一点 #include <iostream> #include <cstdio> #include <cstring> # ...
- 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数
// 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数 // 思路: // http://blog.csdn.net/huzecong/article/details/847868 ...
- [NOIP2003普及组]麦森数(快速幂+高精度)
[NOIP2003普及组]麦森数(快速幂+高精度) Description 形如2^P-1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2^P-1不一定也是素数.到1998 ...
- CSharpGL(28)得到高精度可定制字形贴图的极简方法
CSharpGL(28)得到高精度可定制字形贴图的极简方法 回顾 以前我用SharpFont实现了解析TTF文件从而获取字形贴图的功能,并最终实现了用OpenGL渲染文字. 使用SharpFont,美 ...
- 递推+高精度 UVA 10497 Sweet Child Makes Trouble(可爱的孩子惹麻烦)
题目链接 题意: n个物品全部乱序排列(都不在原来的位置)的方案数. 思路: dp[i]表示i个物品都乱序排序的方案数,所以状态转移方程.考虑i-1个物品乱序,放入第i个物品一定要和i-1个的其中一个 ...
- [Template]高精度模板
重新写一下高精度模板(不要问我为什么) 自认为代码风格比较漂亮(雾 如果有更好的写法欢迎赐教 封装结构体big B是压位用的进制,W是每位长度 size表示长度,d[]就是保存的数字,倒着保存,从1开 ...
- Code[VS] 3123 高精度练习之超大整数乘法
FFT 做 高精度乘法 #include <bits/stdc++.h> ); struct complex { double a, b; inline complex( , ) { a ...
- Java 高精度数字
BigInteger // 高精度整数 BigDecimal //高精度小数 小数位数不受限制
- c++减法高精度算法
c++高精度算法,对于新手来说还是一大挑战,只要克服它,你就开启了编程的新篇章,算法. 我发的这个代码并不是很好,占用内存很多而且运行时间很长(不超过0.02秒),但是很好理解,很适合新手 高精算法的 ...
随机推荐
- js实现标准无缝滚动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ContentProvider实现流程
个人记录 public class DataBaseContentProvider extends ContentProvider { private SQLiteOpenHelper mSQLite ...
- [Android]AndroidInject增加sqlite3数据库映射注解(ORM)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3623050.html AndroidInject项目是我写的一 ...
- ReactiveCocoa学习总结
最近一直断断续续学习关于ReactiveCocoa的知识内容,对于它的一些基础内容将通过本文进行一个总结,主要是一些入门知识 一:RACSignal一些运用 @interface RACSignalT ...
- php设计模式 观察者模式
观察者模式的核心是把客户元素(观察者)从一个中心类(主体)中分离开来.当主体知道事件发生时,观察者需要被通知到.同时,我们并不希望将主体与观察者之间的关系进行硬编码.为了达到这个目的,我们可以允许观察 ...
- 1、HTML学习 - IT软件人员学习系列文章
本文做为<IT软件人员学习系列文章>的第一篇,将从最基本的开始进行描述,了解的人完全可以跳过本文(后面会介绍一些工具). 今天讲讲Web开发中最基础的内容:HTML(超文本标记语言).HT ...
- NSString与奇怪的retainCount
话题从sunnyxx的<黑幕背后的Autorelease>开始 文章开头有个小例子 __weak id reference = nil;- (void)viewDidLoad { [sup ...
- 【译】Java中的对象序列化
前言 好久没翻译simple java了,睡前来一篇. 译文链接: http://www.programcreek.com/2014/01/java-serialization/ 什么是对象序列化 在 ...
- Java Gradle入门指南之gretty插件(安装、命令与核心特性)
Java Web应用开发时常使用Gradle来进行项目管理,可以十分便利地解决包依赖等问题.war插件的出现,让项目部署成为一个复制粘贴的过程,那有没有办法让Java web应用的部署,就像w ...
- Git的常用操作,记录下
首先生成密钥 ssh-keygen -t rsa -C "your_email@youremail.com" 然后打开workdir,敲 git init 设置一个远端库 git ...