Chinaunix首页 | 论坛 | 博客
  • 博客访问: 483286
  • 博文数量: 59
  • 博客积分: 345
  • 博客等级: 二等列兵
  • 技术积分: 1380
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-18 22:44
个人简介

to be myself

文章分类

全部博文(59)

文章存档

2017年(5)

2013年(47)

2012年(3)

2011年(4)

分类: C/C++

2013-03-02 17:02:56

#include

(此处略>40000个的字,就是个2-10000之间的素数数组)



点击(此处)折叠或打开

  1. int main()
  2. {
  3.    intnum,i,count,j,n;
  4.    while(scanf("%d",&num)==1&&num)
  5.    {
  6.        count=0;
  7.        for(i=0;i<1230;i++)
  8.        {
  9.            if(num<=prime[i])
  10.            {
  11.                break;
  12.            }
  13.        }
  14.        if(num==prime[i])
  15.        {
  16.            count++;
  17.        }
  18.        while(i>0)
  19.        {
  20.             n=num;
  21.            j=i--;
  22.            while(j>0&&(n-prime[j-1])>=0)
  23.            {
  24.                 n-=prime[j-1];
  25.                if(n<0)
  26.                {
  27.                    break;
  28.                }
  29.                else if(n==0)
  30.                {
  31.                    count++;
  32.                }
  33.                j--;
  34.            }
  35.        }
  36.        printf("%dn",count);
  37.    }
  38.    return0;
  39. }
  40. 很悲剧滴贡献了一次WA,原因在于我自己测试了10000,9999这样的数据,看到输出是1,头一下就懵了,赶紧在循环之前加了个条件
  41. if(num>9973)
  42. {
  43.    printf("0n");

2011-03-12 11:58 发表于百度空间,今搬至CU。


阅读(1300) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~