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 |
rt很多次了,实在没有办法,请各位指点把数组全部改大了,还用了__int64,但就是rt。 请各位帮忙看看,同时求AC的程序...实在是太不甘心了 #include <stdio.h> const long max=10000000; int main() { long j,k,m; __int64 num[max+5]; __int64 form[3][3];//form[i][0]表示指向第几个num,form[i][1]存值 num[0]=1; form[0][0]=0; form[0][1]=3; form[1][0]=0; form[1][1]=4; k=0; for (j=1;j<=max;j++) { if (form[0][1]<form[1][1]) { k++; num[k]=form[0][1]; form[0][0]++; form[0][1]=num[form[0][0]]*2+1; } else if (form[0][1]>form[1][1]) { k++; num[k]=form[1][1]; form[1][0]++; form[1][1]=num[form[1][0]]*3+1; } else { k++; num[k]=form[1][1]; form[0][0]++; form[0][1]=num[form[0][0]]*2+1; form[1][0]++; form[1][1]=num[form[1][0]]*3+1; } } while (scanf("%ld",&m) != EOF) { printf("%I64d\n",num[--m]); } return 1; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator