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 |
救命啊!为什么超时??? 很好懂的程序~~~~~#include <stdio.h> void main(){ int num,i; scanf("%d",&num); for(i=1;i<=num;i++){ int m,j,p,de,w; de=1; scanf("%d",&p); w=p; for(j=1;j<999999;j++){ for(m=1;m<=j;m++){ if(m<10){ w=w-1;} if(9<m&&m<100){ w=w-2;} if(99<m&&m<1000){ w=w-3;} if(999<m&&m<10000){ w=w-4;} if(9999<m&&m<100000) w=w-5; if(100000<=m&&m<=999999) w=w-6; if(w<=0){ de=0; break; } } if(de==0) break; } if(100000<=m&&m<=999999){ switch(w){ case 0: p=m%10; break; case -1: p=m%100-m%10; break; case -2: p=m%1000-m%100-m%10; break; case -3: p=m%10000-m%1000-m%100-m%10; break; case -4: p=m%100000-m%10000-m%1000-m%100-m%10; break; case -5: p=m-m%100000-m%10000-m%1000-m%100-m%10; break; } } if(10000<=m&&m<=99999){ switch(w){ case 0: p=m%10; break; case -1: p=m%100-m%10; break; case -2: p=m%1000-m%100-m%10; break; case -3: p=m%10000-m%1000-m%100-m%10; break; case -4: p=m-m%10000-m%1000-m%100-m%10; break; } } if(1000<=m&&m<=9999){ switch(w){ case 0: p=m%10; break; case -1: p=m%100-m%10; break; case -2: p=m%1000-m%100-m%10; break; case -3: p=m%10000-m%1000-m%100-m%10; break; } } if(100<=m&&m<=999){ switch(w){ case 0: p=m%10; break; case -1: p=m%100-m%10; break; case -2: p=m-m%100-m%10; } } if(10<=m&&m<=99){ switch(w){ case 0: p=m%10; break; case -1: p=m-m%10; break; } } if(m<10) p=m; printf("%d\n",p); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator