| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
POJ 我对你太不了解了 !!!!!!!!!下面是我的代码,其中第六行是个根本没用的数组,但不加它就WA 加了就AC 害得我找错找了半天,当我把从2到10000的所有数全比较一遍后都没发现错误!!!!!
Run ID 4048280 AC
Run ID 4048288 WA
#include <stdio.h>
#include <iostream>
using namespace std;
#define N 700
int a[N],sum[N];
//int x[10000]; // 就是这个数组,根本就没用,但加上就AC 不加就WA
int main()
{
int i,j,k,n,count;
a[0]=2,a[1]=3;
sum[0]=0,sum[1]=2,sum[2]=5;
i=k=2;
while(i<N)
{
++k;
for(j=0;j<i;++j)
if(k%a[j]==0)
break;
if(j==i)
{
a[i]=k;
sum[i+1]=sum[i]+k;
++i;
}
}
while(scanf("%d",&n)&&n)
{
i=count=0;
while( n>a[i] && n%a[i] && i<50 ) ++i;
if(a[i]>=n || i==50)
++count;
k=0;
while(sum[k]<n) ++k;
k+=2;
while(k>2)
{
--k;
i=0;
while(sum[k+i]-sum[i]<n) ++i;
if( sum[k+i]-sum[i]==n )
count++;
}
cout<<count<<endl;
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator