// // main.cpp // acm // // Created by zhangbilian on 15/10/17. // Copyright © 2015年 zhangbilian. All rights reserved. // #include #include #include #include #include #include #include #include #include using namespace std; int a[22],ans[22]; long long maxv(int len,int lenof4) { long long t=0; for (int i=0; i0) { num4--; ans[i]=4; for (int j=0; j<=i; j++) { printf("%d",ans[j]); } long long t=minv(num4+num7,num4); if(t>0) printf("%lld\n",t); else printf("\n"); break; } else if(a[i]==4) { if(maxv(num4+num7-1, num4-1)>=n%mod && num4>0) { num4--; ans[i]=4; } else { num7--; ans[i]=7; for (int j=0; j<=i; j++) { printf("%d",ans[j]); } long long t=minv(num4+num7,num4); if(t>0) printf("%lld\n",t); else printf("\n"); break; } } else if(a[i]==7){ num7--; ans[i]=7; } else{ num7--; ans[i]=7; for (int j=0; j<=i; j++) { printf("%d",ans[j]); } long long t=minv(num4+num7,num4); if(t>0) printf("%lld\n",t); else printf("\n"); break; } if(i==len-1){ for (int j=0;j