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 |
谁能再给一点数据,WA得不行,谁有数据阿,我试过很多个版本的数据都没错阿谁可以帮我测是测试: #include<stdio.h> #define MAX 100 long long base[12]; void prepare() { long long i; base[1]=10; for(i=2;i<12;i++) base[i]=base[i-1]*10; } int main() { long long a[MAX],n,mod,box; long long count,i,j,k; prepare(); while(scanf("%lli",&n)==1) { count=0; if(n%11<10) a[++count]=n/11; if(n%2) { printf("%lli\n",count); if(count) printf("%lli + %lli = %lli\n",n-a[1],a[1],n); continue; } i=1; while(base[i]<=n) { mod=n%(11*base[i]); box=n/(11*base[i]); if(mod<base[i]*10) a[++count]=box*base[i]+(mod%base[i])/2; for(j=1;j<count;j++) if(a[j]==a[count]) { count--; break; } if(mod>=base[i]) a[++count]=box*base[i]+(base[i]+mod%base[i])/2; if(n-a[count]==a[count]) count--; for(j=1;j<count;j++) if(a[j]==a[count]) { count--; break; } i++; } for(i=1;i<count;i++) for(j=i+1;j<=count;j++) if(a[i]<a[j]) { box=a[i]; a[i]=a[j]; a[j]=box; } printf("%lli\n",count); for(i=1;i<=count;i++) { for(j=1;a[i]/base[j];j++); for(k=1;(n-a[i])/base[k];k++); k-=j+1; printf("%lli + ",n-a[i]); for(j=1;j<=k;j++) putchar('0'); printf("%lli = %lli\n",a[i],n); } } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator