# sixth

long getsumcount(long data[], long count);

data[] = {1,2,3,4};
ncount = 4;

1  = 1
2  = 2
3  = 3 = 1+2
4  = 4 = 1+3

5  = 2+3 = 1+4
6  = 2+4 = 1+2+3
7  = 3+4 = 1+2+4
8  = 1+3+4
9  = 2+3+4
10 = 1+2+3+4

--

 第二题弄出来了，采用hash，在我4楼所说极端情况下，仍然是1.3G的CPU，使用时间1秒多。不过代码就长了点。#define hashsize (1<<16)#define hashmask (0xffff)typedef struct node{    long data;    struct node *next;}NODE;NODE hashtab[hashsize];/*寻找并插入，找到而未插入返回0，未找到而插入返回1*/static int hashinsert(long sum){    NODE *p,*q;    p = hashtab+ (sum & hashmask);    while( p && (p->data!=sum) )    {   q = p;        p = p->next;    }    if( p )        return 0;    q->next = p = malloc(sizeof(NODE));    p ->next = NULL;    p ->data = sum;    return 1;}/*删除hash表的第index条目*/static void hashdelete(long index){   NODE *p,*q;    p = hashtab[index].next;    while(p)    {   q = p;        p = p->next;        free(q);    }}/*这才是正主^^*/long getsumcount(long data[],long count){    long i;    int state[20] = {0};    long sum = 0,sp = 0;    int ret = 1; /*由于0已经先放入表中，所以首先就有一个*/        /*hash表初始化*/    for(i=0;i=0)    {   if(sp==count)        {   ret += hashinsert(sum);            --sp;        }        switch( state[sp] )        {   case 0:                state[sp] = 1;                sum += data[sp];                ++sp;                break;            case 1:                state[sp] = 2;                sum -= data[sp];                ++sp;                break;            case 2:                state[sp] = 0;                --sp;                break;        }    }    /*hash表销毁*/    for(i=0;i

--

• 本文已收录于以下专栏：

## A Simple Math Problem

Description In sixth grade, students are presented with different ways to calculate the Least Com...
• u011292087
• 2014年01月15日 13:19
• 848

1623. Sixth Grade Math Description In sixth grade, students are presented with different w...
• luojiayu14
• 2011年12月14日 00:30
• 737

## 南邮 OJ 1531 A ? Sixth Grade Math

A ? Sixth Grade Math 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte 总提交 : 27    ...
• changshu1
• 2015年08月06日 09:01
• 143

## The sixth sense

Director: M. Night SyamalanActors: Bruce Willis--Dr. Malcolm Crowe            Haley Joel Osment---Co...
• nomatterhow2000
• 2009年10月25日 05:59
• 184

## sixth（二叉排序树）！

• BePosit
• 2018年01月24日 10:49
• 25

## Swift(iOS_Apprentice)学习笔记

1、xcode创建swift项目： File->new->Project....->iOS->Application->Single View Application:
• windvally
• 2015年11月20日 09:51
• 616

## Sixth records of career

November 28,2016 Start learning java today.the point of knowledge is the konwledge that i have lear...
• weixin_36792310
• 2016年11月28日 23:03
• 42

## sixth（求y）

/*   *copyright(c) 2014,烟台大学计算机学院   *All rights reserved。   *文件名称：sixth（求y）   *作者：王忠   *完成日期：20...
• wangzhongwangmin
• 2014年10月15日 22:18
• 397

## The sixth pattern------------Command Pattern

OO模型：命令模式：将请求封装成对象，这样可以让你使用不同的请求、队列，或者日志请求来参数化其他对象。命令模式也可以支持撤销操作。我的理解：（感觉自己也不是特别理解）命令模式可以将动作的请求者从动作的...
• haoyuewuwei
• 2009年08月22日 22:07
• 346