1. C++ / Говнокод #8259

    +1003

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    #include <iostream>
    #include <math.h>
    using namespace std;
    long long h[104680];
    int main(){
        int wr,a2,a3,a5,a7,a11,a13,a17,a19,a23,a29,a31,a37,i,t;
        long long p,u,f1,c1,e,k,n,g,c,f,b2,b3,b5,b7,b11,b13,b17,b19,b23,b29,b31,b37,j;
    
        for (i=1;i<=104000;i++)h[i]=1000000000000000011;
        for (a2=0;a2<=8;a2++){
            b2=powf(2,a2);
            for (a3=0;a3<=4;a3++){
                if (a2<a3)break;
                b3=b2*powf(3,a3);
                for (a5=0;a5<=3;a5++){
                    if (a2<a5)break;
                    b5=b3*powf(5,a5);
                    for (a7=0;a7<=2;a7++){
                        if (a2<a7)break;
                        b7=b5*powf(7,a7);
                        for (a11=0;a11<=1;a11++){
                            if (a2<a11)break;
                            b11=b7*powf(11,a11);
                            for (a13=0;a13<=1;a13++){
                                if (a2<a13)break;
                                b13=b11*powf(13,a13);
                                for (a17=0;a17<=1;a17++){
                                    if (a2<a17)break;
                                    b17=b13*powf(17,a17);
                                    for (a19=0;a19<=1;a19++){
                                        if (a2<a19)break;
                                        b19=b17*powf(19,a19);
                                        for (a23=0;a23<=1;a23++){
                                            if (a2<a23)break;
                                            b23=b19*powf(23,a23);
                                            for (a29=0;a29<=1;a29++){
                                                if (a2<a29)break;
                                                b29=b23*powf(29,a29);
                                                for (a31=0;a31<=1;a31++){
                                                    if (a2<a31)break;
                                                    b31=b29*powf(31,a31);
                                                    for (a37=0;a37<=1;a37++){
                                                        k=b31*powf(37,a37);
    
                                                        g=(a2+1)*(a3+1)*(a5+1)*(a7+1)*(a11+1)*(a13+1);
                                                        g=g*(a17+1)*(a19+1)*(a23+1)*(a29+1)*(a31+1)*(a37+1);
                                                        if (g<=103680){
                                                            if ((0<k)&&(k<h[g])){
                                                                h[g]=k;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        cin >> t;
        for (i=1;i<=t;i++){
            cin >> n;
            f1=0;c1=0;
            for (j=1;j<=103680;j++){
                if (h[j]<=n){
                    f1=h[j];
                    c1=j;
                }
            }
            cout << f1 << " " << c1 << endl;
        }
        cin >> i;
        return 0;
    }

    отсюда: http://acm.timus.ru/forum/thread.aspx?id=26703&upd=634473973997426 601
    типа решение одной олимпиадной задачки на теорию чисел
    типа неверное (что неудивительно)
    по ссылке можно увидеть другое не менее монструозное решение, которое проходит чуть больше тестов...

    Запостил: rip, 21 Октября 2011

    Комментарии (24) RSS

    • Эммм... а что оно делает?
      Ответить
      • стало быть, перебирает числа вида П p_i^a_i и заполняет таблицу, из которой затем строит ответ
        ну, не суть важно...
        Ответить
    • > int wr,a2,a3,a5,a7,a11,a13,a17,a19,a23,a29,a 31,a37,i,t;
      > long long p,u,f1,c1,e,k,n,g,c,f,b2,b3,b5,b7,b11,b1 3,b17,b19,b23,b29,b31,b37,j;
      о! давно индусятины не было
      Ответить
      • только это скорее китайский код))
        Ответить
      • long f,u,c,k,i,n,g,v,a,r1,a,bl,es,d,e,f1,n1,t 1,on;
        Ответить
        • да уж .. настолько лонг получился, что говнокодик аж пробел вставил в предпоследний идентификатор
          Ответить
    • А чего все минусуют? Хорошее ж, отборное говно, олимпийское.

      >перебирает числа вида П p_i^a_i и заполняет таблицу, из которой затем строит ответ

      Объяснил так объяснил. Что за таблица, какой ответ? Что такое p_i и a_i?

      Тут пахнет каким-то решетом Эратосфена, глубже копать лень
      Ответить
    • Пиздец. Я такого еще никогда не видел. Просто пиздец.
      Ответить
    • Ничего удивительного. (Специальные) олимпиады по программированию - лучший рассадник говнокода.
      Ответить
    • }
                          }
                      }
                  }
              }
          }
      }

      Птицы полетели.
      Ответить
    • пролетела стая птиц





      _   _   _   _   _   _
      и закапало с ресниц
      Ответить
    • Где здесь С++?
      Ответить

    Добавить комментарий