Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2010
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.60 KB | None | 0 0
  1. int
  2. main(int argc, char *argv[]) {
  3.     const int TOTAL = 711;
  4.     ulong a[4] = {TOTAL}, top[3] = {0}, max[3] = {0};
  5.     ulong time;
  6.     int i;
  7.  
  8. #define L(level) \
  9.     top[level] = level>0 ? a[level-1]+top[level-1] : 0; \
  10.     max[level] = (TOTAL-top[level]) / (4 - level);      \
  11.     for(a[level]=TOTAL-top[level]-(3-level); a[level]>max[level]; a[level]--)
  12.  
  13.     time=nsec();
  14.     L(0) {
  15.     L(1) {
  16.     L(2) {
  17.         a[3] = TOTAL-top[2]-a[2];
  18.         if(TOTAL * 1000000 == a[0] * a[1] * a[2] * a[3])
  19.             print("%03uld %03uld %03uld %03uld\n", a[0], a[1], a[2], a[3]);
  20.     }}}
  21.     print("%0.03f\n", (double)(nsec() - time) / 1000 / 1000 / 1000);
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement