文章
11
粉丝
0
获赞
38
访问
7.5k
 
#include <stdio.h>
#include <string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main()
{
    int t;
    scanf("%d",&t);
    int i;
    for(i=0;i<t;i++)
    {
        int n;
        scanf("%d",&n);
        int hash[10000]={0};
        int *a=(int *)malloc(sizeof(int)*n);
        int j;
        for(j=0;j<n;j++)
        {
            scanf("%d",&a[j]);
            hash[a[j]]++;
        }
        if(hash[2048]!=0)
      ...
登录后发布评论
若原序列没有2048,则2048只能通过两个相同的2的幂次方数相加得到2048,所以,从1开始处理有两个以上的2的幂次方数。