自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 解释为什么用gets()会少输入一行字符串就能输出结果

while(cin>>n) 或者while(scanf('%d',&n) for(int i=0;i    {        gets(s)或者 getline(cin,s);     }对于c语言的输入:那一行中把scanf("%s",a[i])改成gets(a[i])是完全没有问题的,在输入不带间隔的字符串时是完全等价的。若输入有间隔的字符串,那么gets(a[i])能

2013-11-11 22:39:38 2244

原创 oj1104

#include #include#include#includeusing namespace std;int a0,a1,p,q,k;struct rec{    int a[2][2];};rec f(rec aa,rec bb){    rec ret;    ret.a[0][0]=(aa.a[0][0]*bb.a[0][0]+aa.a

2013-11-05 15:01:19 615

转载 矩阵快速幂模

print?#include    #include    #include    #include    using namespace std;  #define MAXN 12   #define M 9973   typedef struct  {        int m[MAXN][MAXN];  }Matrix;    Matrix a, per;  int n;    vo

2013-11-05 15:00:22 588

转载 矩阵快速幂

矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的o(n)的时间复杂度,降到log(n)。这里先对原理(主要运用了矩阵乘法的结合律)做下简单形象的介绍:一般一个矩阵的n次方,我们会通过连乘n-1次来得到它的n次幂。但做下简单的改进就能减少连乘的次数,方法如下:把n个矩阵进行两两分组,比如:A*A*A*A*A*A => (A*A)*(A*A)*(A*A)这样变的好处是,你只需要

2013-11-05 14:59:33 480

原创 oj整除和商的问题1104

#include#includeusing namespace std;int main( ){int n,a,m,x;int res[10010];while(cin>>n>>a){   int flag=0;       int i, j;        memset(res, 0, sizeof(res)); 

2013-11-04 21:15:01 635

原创 表达式计算的问题

本算法巧妙地利用了c语言中的scanf,逐个对参加运算的数字和运算符进行输入。 #includeusing namespace std;int main( ){ int k,i,j,a[100];char x; while(scanf("%d",&k)!=EOF) {     i=0;  a[0]=0;  a[++i]=k;  while((scan

2013-10-31 16:59:05 598

原创 oj1125题

题目描述: 已知正整数k满足2输入: 若干个非负整数c,c的位数每行一个c,当c=-1时中止(不要对-1进行计算!)输出: 每一个c的结果占一行1) 若存在满足 c%k == 0 的k,输出所有这样的k,中间用空格隔开,最后一个k后面没有空格。2) 若没有这样的k则输出"none"   #include#includeusin

2013-10-31 15:36:32 738

原创 字符串的输入

说明:strlen函数返回的是字符串的长度,并不包括字符串结束符,在获得字符串长度上必须加1以便在动态分配是预留结束符的存储空间。        数组的元素个数 n=sizeof(a)/sizeof(a[0]); c语言中:1 用scanf进行输入int main( ){char  a[100]; scanf("%s",&a);//用scanf进行输入,在输入时遇到空格'

2013-10-30 21:34:53 866

原创 求大数的约数个数问题

在求数字的约数的个数时,往往会用for语句实现1-n之间所有的数进行取余数从而判断是不是余数,若是,则加1,这算法行得通,但在oj平台上提交时必定会超时,因为随着n的增大,for循环语句所用的时间会越来越长。。。。 下面的程序是:判断1到根号n之间,n的约数个数,从而来确定1到n之间n的约数个数;   #include#include#includeusing

2013-10-24 10:00:41 1270

原创 大数n的阶乘

#include   {当输入的n的值很大时,很难有存储的结构,就把这个大数在形成的过程中,将它的各个位都分离出来,分                        别保存在一个数组中,这样就可以存储了。}#includeusing namespace std;int res[10010];int main(){    int n;    while (cin>>n

2013-10-23 21:41:26 448

原创 循环的取大数的各个位数,存入数组中

while(n!=0)  { a[m++]=n%10;    n=(n-a[m-1])/10;  } 将大数n的各个位数取出来,存放到数组a中,低位放在低下标处

2013-10-23 21:40:35 628

原创 简单的0-1背包问题

#include#includeusing namespace std;int max(int a,int b){ if(a>b)     return a;else     return b;}int main( ){int N,T;int v[101]; int w[101]; int f[1001]; int i,j; while(

2013-10-09 18:29:15 492

原创 将字符数字转换为整型数字

#includeusing namespace std;#includeint main( ){string a;cin>>a;int* b=new int[a.size( )]for(string::size_type i=0;ib[i]=a[i]-'0';/*将字符型的数字转换成整型的*/return 0;}总结:将字符数字减去0字符就得到整型的数字

2013-09-27 20:54:11 1006

原创 最大公约数和最小公倍数

求解最大公约数用的是欧几里得的辗转相除法。例如,求(319,377):∵ 377÷319=1(余58)∴(377,319)=(319,58);∵ 319÷58=5(余29),∴ (319,58)=(58,29);∵ 58÷29=2(余0),∴ (58,29)= 29;∴ (319,377)=2inc

2013-09-26 22:15:19 476

转载 sort函数的用法

sort函数包含在头文件#include 中1 .默认的sort函数是按升序排。  sort(a,a+n);   //两个参数分别为待排序数组的首地址和尾地址,或者可以首尾指针。又如:vector::iterator iter1=v.begin( );          vector::iterator iter2=v.begin( );sort(iter1,i

2013-09-25 12:49:18 519

转载 动态分配和释放二维数组

#include using namespace std;int main(int argc, char* argv[]) {  int x = 3, y = 4; int i=0;  int **p = new int*[x];//创建一个动态int* 型数组  for( i = 0; i       p[i] = new int[y];

2013-09-25 12:37:01 501

转载 大数n的阶乘

include   {当输入的n的值很大时,很难有存储的结构,就把这个大数在形成的过程中,将它的各个位都分离出来,分                        别保存在一个数组中,这样就可以存储了。}#includeusing namespace std;int res[10010];int main(){   

2013-09-25 12:35:09 478

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除