2012年7月25日

vector

摘要: vector篇 头文件:#include<vector> 1.创建方法View Code 1 //1.不指定容器的元素的个数2 vector<int>v;3 //2.指定容器的元素的个数4 vector<double>v(1)5 /**注:下标0-9 并且初始化0.0 ****/6 //3.指定容器的元素并赋值7 vector<double>v(10,8.8)2.元素的增加View Code 1 //1.尾部添加2 v.push_back(2);3 v.push_back(3);4 v.push_back(4);5 //2.insert插入6 v 阅读全文

posted @ 2012-07-25 16:05 L_S_X 阅读(249) 评论(0) 推荐(0) 编辑

STL标准模版知识之目录

摘要: STL标准模版知识之目录(本博客只涉及常用的STL的知识) 1.顺序容器 (1) vector :http://www.cnblogs.com/lsx54321/archive/2012/07/25/2608487.html (2) listhttp://www.cnblogs.com/lsx54321/archive/2012/07/25/2609018.html (3)dequehttp://www.cnblogs.com/lsx54321/archive/2012/07/25/2608995.html (4)stack,queue:http://www.cnblogs.com/lsx54 阅读全文

posted @ 2012-07-25 15:43 L_S_X 阅读(188) 评论(0) 推荐(0) 编辑

麦森数 ------ poj 2706(百练)

摘要: 麦森数:形如2p-1的素数称为麦森数,这时P一定也是个素数。但反过来不一定,即如果P是个素数。2p-1不一定也是素数。代码一 1 #include<iostream> 2 #include<cmath> 3 #include<cstdio> 4 #include<cstring> 5 #define N 126 6 using namespace std; 7 int ans[N],anspow[N]; 8 void mult(int ans[],int anspow[]) 9 {10 int i,j;11 int c[N];12 memset( 阅读全文

posted @ 2012-07-25 15:38 L_S_X 阅读(1974) 评论(0) 推荐(1) 编辑

大数取余 ------(int范围)

摘要: 思路: 见代码注释部分。 1 /*大数取余-------mod 为 (int范围)*/ 2 /* 具体做法: 3 从大数最高位开始,只要其大于mod 4 就实行取余,一直下去,最终得到余数 5 例如:123 % 4 取一个中间变量t=0 6 1<4 t=1 7 --- 2 t=1*10+2=12>4 t=t%4=0 8 --- 3 t=0+3=3 t=t%4=3 9 -------------------- 余数 310 */11 #include<iostream>12 #include<string>13 #inc... 阅读全文

posted @ 2012-07-25 08:51 L_S_X 阅读(1388) 评论(0) 推荐(0) 编辑

2012年7月24日

任意进制转换--(62进制)

摘要: 题目:62进制(非大数除法实现) '0'-'9'-----0-9 A-Z-------10-35 a-z--------36-62具体说明可以参考此博客http://www.cppblog.com/kuangbin/archive/2011/08/25/154299.html?opt=admin在此简短说一下: 例如 10进制的18 转换为2进制 被除数 除数 商 余数 1 8 / 2---------09 0 ---------- 1轮结束9/2 -------- 4 1 --------- 2轮结束 4 / 2-------- 2 0 ---------3轮 阅读全文

posted @ 2012-07-24 21:18 L_S_X 阅读(6669) 评论(0) 推荐(1) 编辑

超大数乘法 -----数位压缩

摘要: 思路:可以将几位数字存储在一个数组存储单元中。不只乘法,加法也可以压位。本次代码中压9位。 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #define LL __int64 5 #define N 15000 6 #define M 50005 7 #define MOD 1000000000 //模 8 #define wei 9 //压的位数 9 using namespace std;10 11 LL a[N],b[N],ans[N];12 char c[M],d[M];1 阅读全文

posted @ 2012-07-24 17:48 L_S_X 阅读(933) 评论(0) 推荐(0) 编辑

大数除法

摘要: 思路:模拟手算的过程 1.高精度除以低精度 注意:低精度的范围(int) 1 /*高精度除低精度求商模板*/ 2 /*大数除法 ------除数为int范围*/ 3 #include<iostream> 4 #define N 1000 5 using namespace std; 6 void division(char * src,int n) 7 { 8 int len = strlen(src),i,k,t=0,s=0; 9 char dest[N];10 bool flag = true; //商是否有了第一个有效位,防止商首部一直出现0 11 ... 阅读全文

posted @ 2012-07-24 13:15 L_S_X 阅读(5393) 评论(0) 推荐(2) 编辑

2012年7月21日

大数减法

摘要: 思路: 同大数加法,采用模拟笔算减法的策略,注意细节处理的问题。同样返回的为string类。代码如下: 1 /* 2 1.比较减数与被减数的长度,确定正负号 3 2.模拟笔算 4 (1)a[i]==b[j] 5 (2)a[i]<b[j] //退位 6 (3)a[i]>b[j] 7 */ 8 #include<iostream> 9 #include<string>10 using namespace std;11 string jianfa(string a,string b)12 {13 string c="",ans="&q 阅读全文

posted @ 2012-07-21 14:27 L_S_X 阅读(1969) 评论(1) 推荐(0) 编辑

2012年7月20日

超大数乘法---FFT

摘要: 思路: 算法导论第30章有详细说明。此处只是简略说明其主要的步骤。一个知识点是: A(x)=a0+a1x+a2x2+a3x3+……+an-1xn-1A[0](x)=a0+a2x+a4x2+……+an-2xn/2-1A[1](x)=a1+a3x+a5x2+……+an-1xn/2-1A[0](x2)+x*A[1](x2)=A(x)以上是 二进制平摊反转置换跟求和的主要式子。多项式有两种表示形式:点值表示,系数表示。快速FFT主要有以下四点: 1. 使次数界(上界)增加一倍。A(x)、B(x)的长度扩充到2*n 2. 求值。主要是求点值表示A(x)、B(x)的点值表示 3. 点乘。C(x)=A(x) 阅读全文

posted @ 2012-07-20 19:44 L_S_X 阅读(4982) 评论(0) 推荐(0) 编辑

大数阶乘

摘要: 思路: 数组模拟阶乘的过程,处理好进位的问题与优化的问题即可。代码一如下: 1 //大数阶乘 2 #include<iostream> 3 #include<cstring> 4 #define N 17000 //此处只能计算到5000,如有需要,可以修改N 5 using namespace std; 6 void jiecheng(int n); 7 int ans[N]; 8 int main() 9 {10 int n;11 while(cin>>n)12 {13 jiecheng(n);14 }15 return 0;16 }17 18 void 阅读全文

posted @ 2012-07-20 19:27 L_S_X 阅读(623) 评论(0) 推荐(0) 编辑

导航