1. Си / Говнокод #10612

    +140

    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
    code unsigned char strings[] = {
    '-','-','-','-','-','-',        'Ь','Л','O','P','А','П',        'Г','O','P','П',' ',' ',  // 1 ввод пароля для параметров                 1
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Г','O','P','П',' ',' ',  // 2 ввод номера параметра                   2
    '-','-','-','-',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Н','И','П',' ',' ',' ',  // 3 ввод пин-кода                           3
    ' ',' ',' ',' ',' ',' ',        '-','-','-','-','-','-',        'Л','P','A','П',' ',' ',  // 4 ввод пароля на калибровку              4
    'P','O','Б','I','Ъ','В',        'П',' ',' ',' ',' ',' ',        'P','8','O','П',' ',' ',  // 5 выбор канала калибровки                 5
    '-','-','-','-','-','-',        'Ь','Л','О','Р','А','П',        'И','P',' ',' ',' ',' ',  // 6 ввод пароля нач. инициализации          6
    't','r','A','t','S',' ',        '1','t','F','E','L',' ',        'И','Р',' ',' ',' ',' ',  // 7 инициализация сторон                    7
    '0','0','0',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'H','4','У','Р',' ',' ',  // 8 ввод стоимости                          8
    ' ',' ',' ',' ',' ',' ',        '0','0','0',' ',' ',' ',        'H','4','У','P',' ',' ',  // 9 дозы                                    9
    ' ','П',' ',' ',' ','C',        'П','А','З',' ',' ',' ',        'И','Р',' ',' ',' ',' ',  // 10 завершение инициализации сторон         10
    'P','O','Б','I','Ъ','В',        ' ','П',' ',' ',' ','C',        'И','Р',' ',' ',' ',' ',  // 11 отображение канала для инициализации    11
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','О','П',' ',' ',  // 12 ввод дозы для калибровки                12
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',  // 13 экно просмотра суммарника               13
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','О','П',' ',' ',  // 14 просмотр весового коэффициента             14
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','0','П',' ',' ',  // 15 просмотр пин-кода последней калибровки  15
    'A','3','O','d',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','О','П',' ',' ',  // 16 ввод начальной дозы калибровки          16
    'C','O','P','Б','С',' ',        ' ',' ',' ',' ',' ',' ',        'И','Р',' ',' ',' ',' ',  // 17 запрос очистки всех привязок            17
    ' ',' ',' ',' ',' ','С',        ' ',' ',' ',' ',' ',' ',        'И','Р',' ',' ',' ',' ',  // 18 шаблон для ротации индикаторов          18
    'С','О','Р','П','А','З',        ' ',' ',' ',' ',' ',' ',        'Н','4','У','Р',' ',' ',  // 19 запрос подтверждения с ПК об отпуске на литры  19
    '1','-','С','А','Ч',' ',        '2','-','Б','О','С',' ',        '3','0','И','Р',' ',' ',  // 20 меню инициализации
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'С','А','Ч',' ',' ',' ',  // 21 меню редактирования даты времени        13
    };

    boolivar, 07 Июня 2012

    Комментарии (12)
  2. Си / Говнокод #10595

    +127

    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
    if(!menu_font||!oboima_text||!info||!infoR||!infoD||!infoBR||
          !oblaka1_tex||!fon1_tex||!fon2_tex||!fon3_tex||
          !galka_tex||!galka_menu_tex||!strelka_menu_tex||!strelka_menu_D_tex||
          !znak_myasnik_tex||!znak_strelok_tex||!znak_razrushitel_tex||!znak_tehnik_tex||
          !status_opit_tex||!status_udar_tex||!status_status_tex||!opit_okno_vibora_tex||
          !okno_lvl_progress_tex||!okno_lvl_progress_red_tex||!okno_lvl_progress_green_tex||!okno_lvl_polzunok_tex||
          !snd||!ak_reload1||!ak_reload2||!pm_fire||!pm_reload1||!pm_reload2||
          !pp19_fire||!pp19_reload1||!pp19_reload2||!fn_f2000_fire||!tt_fire||
          !mac_fire||!mac_reload1||!mac_reload2||!webley_fire||!webley_reload1||!webley_reload2||!milkor_fire||
          !fn_five_seven_fire||!winch_fire||!drob_reload1||!drob_pompa||!vzriv_grena1||
          !rocket_fire||!rocket2_fire||!rocket_polet||!rocket2_polet||
          !myaso_upalo1||!myaso_upalo2||!myaso_upalo3||!myaso_upalo4||!myaso_upalo5||!myaso_upalo6||!myaso_upalo7||
          !myaso_upalo8||
          !myaso_razriv_user1||!myaso_razriv_user2||
          !menu_sound||!menu_choose||
          !shot1||!headshot1||!headshot2||!headshot3||!headshot4||!headshot5||!headshot6||!headshot7||!headshot8||
          !ssik1||!ssik2||!ssik3|!ssik4||
          !ptenec_death1||
          !ak||!ak2||!ak_upgraded||!ak2_upgraded||!w_pm_tex||!w_pp19_vityaz_tex||!w_fn_f2000_tex||!w_fn_f2000_upgraded_tex||
          !w_tt_tex||!w_rpk_tex||!w_mac_tex||
          !w_winchester_tex||!w_winchester_anime_tex||!w_rpk47_tex||!w_glok_tex||!w_glok2_tex||!w_rgd5_tex||!w_milkor_tex||
          !w_panzer_tex||!w_panzer_out_tex||!w_webley_tex||!w_fn_five_seven_tex||!w_granata_podstvol_tex||!w_granata_panzer_tex||
          !w_qlz87_pushka_tex||!w_qlz87_trenoga_tex||!katana_udar_sleva_tex||
          !blood1_tex||!blood2_tex||!blood3_tex||!blood_shot1_tex||
          !blood_plyam1_tex||!blood_plyam2_tex||!blood_plyam3_tex||!blood_luzha1_tex||
          !blood_myaso1_tex||!blood_myaso2_tex||!blood_myaso3_tex||!blood_myaso4_tex||!blood_myaso5_tex||
          !blood_zayac_noga1_tex||!blood_zayac_noga2_tex||!blood_zayac_noga3_tex||!blood_zayac_noga4_tex||
          !blood_zayac_rebra1_tex||!blood_zayac_rebra2_tex||
          !blood_vzriv1_a_tex||!blood_vzriv1_b_tex||!blood_vzriv1_c_tex||!blood_vzriv1_d_tex||!blood_vzriv1_e_tex||
          !blood_vzriv1_e2_tex||
          !player1_myasnik_gogranata_ruka1_tex||!player1_myasnik_gogranata_ruka2_tex||
          !player1_strelok_gogranata_ruka1_tex||!player1_strelok_gogranata_ruka2_tex||
          !player1_razrushitel_gogranata_ruka1_tex||!player1_razrushitel_gogranata_ruka2_tex||    
          !player1_tehnik_gogranata_ruka1_tex||!player1_tehnik_gogranata_ruka2_tex||
          !player1_myasnik_tex||!player1_strelok_tex||!player1_razrushitel_tex||!player1_tehnik_tex||
          !player1_myasnik_ruka1_udar_sleva_tex||!player1_strelok_ruka1_udar_sleva_tex||
          !player1_razrushitel_ruka1_udar_sleva_tex||!player1_tehnik_ruka1_udar_sleva_tex||
          !player1_myasnik_ruka1_pistol_tex||!player1_strelok_ruka1_pistol_tex||
          !player1_razrushitel_ruka1_pistol_tex||!player1_tehnik_ruka1_pistol_tex||
          !player1_myasnik_ruka1_vintovka_tex||!player1_strelok_ruka1_vintovka_tex||
          !player1_razrushitel_ruka1_vintovka_tex||!player1_tehnik_ruka1_vintovka_tex||
          !player1_myasnik_ruka1_winch_tex||!player1_strelok_ruka1_winch_tex||
          !player1_razrushitel_ruka1_winch_tex||!player1_tehnik_ruka1_winch_tex||
          !player2_strelok_tex||!player2_gogranata_ruka1_tex||!player2_gogranata_ruka2_tex||
          !player2_strelok_ruka1_udar_sleva_tex||!player2_strelok_ruka1_vintovka_tex||!player2_strelok_ruka1_pistol_tex||
          !zayac_go_tex||!zayac_uhi_k_tex||!zayac_uhi_s_tex||!zayac_uhi_tex||
          !zayac_boshka_tex||!zayac_boshka_bezuh_tex||
          !volk_go_tex||!volk_trup1_a_tex||!volk_trup1_b_tex||!volk_trup1_c_tex||
          !medved_go_tex||!medved_boshka1_tex||
          !medved_trup1_a_tex||!medved_trup1_b_tex||!medved_trup1_c_tex||!medved_trup1_d_tex||!medved_trup1_e_tex||!medved_trup1_f_tex||
          !medved_trup1_a_bezboshki_tex||!medved_trup1_b_bezboshki_tex||!medved_trup1_c_bezboshki_tex||
          !medved_trup1_d_bezboshki_tex||!medved_trup1_e_bezboshki_tex||!medved_trup1_f_bezboshki_tex||
          !ptenec_go_tex||!ptenec_wait_tex||!ptenec_vpolete_tex||!ptenec_vpolete_reverse_tex||!ptenec_trup1_tex||
          !ptenec_boshka_vzriv1_a_tex||!ptenec_boshka_vzriv1_b_tex||!ptenec_boshka_vzriv1_c_tex||
          !ptenec_boshka_vzriv1_d_tex||!ptenec_boshka_vzriv1_e_tex||
          !RPG_healer_tex||!RPG_illusionist_tex||!RPG_teleporter_tex||
          !bonus_shilo_tex||!bonus_this_tex||
          !bonus_shilo_text_tex||!bonus_this_text_tex||!bonus_daun_text_tex||!bonus_ulitka_text_tex||!bonus_umnik_text_tex||
          !bonus_shilo_status_tex||!bonus_daun_status_tex||!bonus_ulitka_status_tex||!bonus_umnik_status_tex||
          !zayac_trup1_a_tex||!zayac_trup1_b_tex||!zayac_trup1_c_tex||!zayac_trup1_d_tex||
          !zayac_trup1_a_bezuh_tex||!zayac_trup1_b_bezuh_tex||!zayac_trup1_c_bezuh_tex||!zayac_trup1_d_bezuh_tex||
          !zayac_trup1_a_bezboshki_tex||!zayac_trup1_b_bezboshki_tex||!zayac_trup1_c_bezboshki_tex||
          !zayac_trup1_d_bezboshki_tex||
          !zayac_go_bezuh_tex||!ogon1||
          !blood_ssit_tex||!RPG_healing_tex||!vzriv_grena_tex||!vzriv_ogon_grena_tex||
          !alkash1_tex||!derevo1_tex||!penek1_tex||
          !znak_polputi_tex||!polosa_finish_tex)

    Название проекта: ЩИ!!!Симулятор жестокости
    http://www.gamedev.ru/projects/forum/?id=160897

    Уверен, название выбиралось не только исходя из геймплея, но и из кода игры.

    greevex, 06 Июня 2012

    Комментарии (18)
  3. Си / Говнокод #10574

    +134

    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
    double erf(double x)
    {
        const double xbreak = 0.46875;
        ...
    
        y = fabs(x);
    
    //  evaluate  erf  for  |x| <= 0.46875
        if (y<xbreak)
        {
            ...
        }
    //  evaluate  erfc  for 0.46875 <= |x| <= 4.0
        else if ((y > xbreak) && (y <= 4.))
        {
            ...
        }
    //   evaluate  erfc  for |x| > 4.0
        else
        {
            ...
        }
    
    //   fix up for negative argument, erf, etc.
        if (x > xbreak)
           result = 1 - result;
        if (x < -xbreak)
           result = result - 1;
    
        return result;
    }

    > Надо было в свое время — перевел MATLABовский исходник на C (сделано через дробно-рациональные аппроксимации на нескольких отрезках)

    http://www.rsdn.ru/forum/alg/1797230.all.aspx

    TarasB, 05 Июня 2012

    Комментарии (8)
  4. Си / Говнокод #10549

    +136

    1. 1
    2. 2
    /* eventData1 - аргумент функции, причем он не может быть меньше 1 по определению. */
    CS_OF=(eventData1-1)/2==(eventData1-1)*0.5;

    klaks, 04 Июня 2012

    Комментарии (16)
  5. Си / Говнокод #10540

    +142

    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
    if (!menu) error(E_NOMEM);    /* add titles and items */
      if ((mn_addtitle(menu, "file",     0, 0,           0) != 0)
      ||  (mn_additem (menu, "load",     1, mcb_load,    0) != 0)
      ||  (mn_additem (menu, "save",     0, mcb_save,    0) != 0)
      ||  (mn_additem (menu, "mpost",    0, mcb_mpost,   0) != 0)
      ||  (mn_additem (menu, NULL,       0, 0,           0) != 0)
      ||  (mn_additem (menu, "quit",     0, mcb_quit,    0) != 0)
      ||  (mn_addtitle(menu, "actions",  0, 0,           0) != 0)
      ||  (mn_additem (menu, "init",     0, mcb_init,    0) != 0)
      ||  (mn_additem (menu, "start",    2, mcb_start,   0) != 0)
      ||  (mn_additem (menu, "stop",     4, mcb_start,   0) != 0)
      ||  (mn_additem (menu, NULL,       0, 0,           0) != 0)
      ||  (mn_additem (menu, "view",     0, mcb_view,    0) != 0)
      ||  (mn_additem (menu, "redraw",   0, mcb_redraw,  0) != 0)
      ||  (mn_addtitle(menu, "settings", 0, 0,           0) != 0)
      ||  (mn_additem (menu, "grid",     1, mcb_grid,    0) != 0)
      ||  (mn_additem (menu, "params",   0, mcb_params,  0) != 0)
      ||  (mn_addtitle(menu, "help",     0, 0,           0) != 0)
      ||  (mn_additem (menu, "about",    0, mcb_about,   0) != 0)
      ||  (mn_addtitle(menu, NULL,       0, 0,           0) != 0))
        error(E_WIDGET);
      mn_resize (menu, INITXEXT);   /* set width of menu bar */
      mn_visible(menu, MN_ITEMS, 3);/* show/hide      menu items */
      mn_enable (menu, MN_ITEMS, 3);/* enable/disable menu items */

    Кусок кода из программы http://www.borgelt.net/doc/somd/somd.html для визуализации SOM. Эпичная проверка условий!

    betastat, 04 Июня 2012

    Комментарии (3)
  6. Си / Говнокод #10465

    +123

    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
    #include <stdio.h>
    int getLen(long long num)
    {
        int count=0;
        while (num > 0)
        {
            count++;
            num/=10;
        }
        return count;
    }
    
    int main(void)
    {
        int count = 0;
        for (long long i=1; i<=9; i++)
        {
            long long num = 1;
            int modify=0;
    
            for (int j=1; j<30; j++)
            {
                if (i==7 && j == 5)
                {
                    int a= 1;
                    a++;
                }
                num *= i;
                if (getLen(num) == j-modify)
                {
                    printf("%d^%d=%lld OK  %d\n", i, j, num, count+1);
                    count++;
                }
                if (num > 10000000)
                {
                    num/=10;
                    modify++;
                }
            }
        }
        printf("%d\n", count);
        return 0;
    }

    http://projecteuler.net/problem=63
    http://projecteuler.net/thread=63&page=8



    >I don't want to write again an big number rendering algorithm, so I played a little trick on it and hoped it won't cause any trouble..

    TheHamstertamer, 30 Мая 2012

    Комментарии (11)
  7. Си / Говнокод #10307

    +136

    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
    if ( sectors && sectorsNum )
    {
    	for ( i = 0; i < ( int )sectorsNum; i++)
    	{
    		*(unsigned int*)(pl + 4 + 4 + i * 10 ) = sectors[i].originalNum;
    		*(pl + 4 + 4 + i * 10 + 4) = 3 ;
    		*(unsigned int*)(pl + 4 + 4 + i * 10 + 5 ) = sectors[i].usedNum;	
    		*(pl + 4 + 4 + i * 10 + 9) = 4 ;
    	}
    	*(unsigned int*)(pl + 4 + 4 + i * 10 ) = newSectors;
    	*(pl + 4 + 4 + i * 10 + 4) = 0x0b ;
    	*(unsigned int*)(pl + 4 + 4 + i * 10 + 5 ) = newSectors * 0x200; // сектора в байты
    }

    В старых исходниках довольно крупного проекта нашелся сей замечательный отрывок... И очень одинокий коммент...

    sima, 17 Мая 2012

    Комментарии (10)
  8. Си / Говнокод #10294

    +138

    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
    typedef int32_t wl_fixed_t;
    
    //было:
    static inline double wl_fixed_to_double(wl_fixed_t f)
    {
      return (double) f / 256.0;
    }
    
    //стало:
    static inline double wl_fixed_to_double(wl_fixed_t f)
    {
      union {
        double d;
        int64_t i;
      } u;
    
      u.i = ((1023LL + 44LL) << 52) + (1LL << 51) + f;
    
      return u.d - (3LL << 43);
    }

    Заоптимизировали...

    rat4, 16 Мая 2012

    Комментарии (23)
  9. Си / Говнокод #10235

    +116

    1. 1
    2. 2
    3. 3
    short lPort = atoi(szTemp);
    if (lPort <= 0 || lPort > 65535)
    	lPort = 80;

    absolut, 10 Мая 2012

    Комментарии (9)
  10. Си / Говнокод #10226

    +129

    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
    #include<stdio.h>
    
    int main()
    {
        int i,p,q,sum=0;
        for(i=0;i<1000000;i++)
        {
            p=0;
            if(i<10) p=1;
            else if(i<100){ if(i/10==i%10) p=1;}
            else if(i<1000){ if(i/100==i%10) p=1;}
            else if(i<10000){ if(i/1000==i%10 && (i%1000)/100==(i%100)/10) p=1;}
            else if(i<100000){ if(i/10000==i%10 && (i%10000)/1000==(i%100)/10) p=1;}
            else if(i<1000000){ if(i/100000==i%10 && (i%100000)/10000==(i%100)/10 && (i%10000)/1000==(i%1000)/100) p=1;}
            q=0;
            if(i<2) q=1;
            else if(i<4){if(i/2==i%2) q=1;}
            else if(i<8){if(i/4==i%2) q=1;}
            else if(i<16){if(i/8==i%2 && (i%8)/4==(i%4)/2) q=1;}
            else if(i<32){if(i/16==i%2 && (i%16)/8==(i%4)/2) q=1;}
            else if(i<64){if(i/32==i%2 && (i%32)/16==(i%4)/2 && (i%16)/8==(i%8)/4) q=1;}
            else if(i<128){if(i/64==i%2 && (i%64)/32==(i%4)/2 && (i%32)/16==(i%8)/4) q=1;}
            else if(i<256){if(i/128==i%2 && (i%128)/64==(i%4)/2 && (i%64)/32==(i%8)/4 && (i%32)/16==(i%16)/8) q=1;}
            else if(i<512){if(i/256==i%2 && (i%256)/128==(i%4)/2 && (i%128)/64==(i%8)/4 && (i%64)/32==(i%16)/8) q=1;}
            else if(i<1024){if(i/512==i%2 && (i%512)/256==(i%4)/2 && (i%256)/128==(i%8)/4 && (i%128)/64==(i%16)/8 && (i%64)/32==(i%32)/16) q=1;}
            else if(i<2048){if(i/1024==i%2 && (i%1024)/512==(i%4)/2 && (i%512)/256==(i%8)/4 && (i%256)/128==(i%16)/8 && (i%128)/64==(i%32)/16) q=1;}
            else if(i<4096){if(i/2048==i%2 && (i%2048)/1024==(i%4)/2 && (i%1024)/512==(i%8)/4 && (i%512)/256==(i%16)/8 && (i%256)/128==(i%32)/16 && (i%128)/64==(i%64)/32) q=1;}
            else if(i<8192){if(i/4096==i%2 && (i%4096)/2048==(i%4)/2 && (i%2048)/1024==(i%8)/4 && (i%1024)/512==(i%16)/8 && (i%512)/256==(i%32)/16 && (i%256)/128==(i%64)/32) q=1;}
            else if(i<16384){if(i/8192==i%2 && (i%8192)/4096==(i%4)/2 && (i%4096)/2048==(i%8)/4 && (i%2048)/1024==(i%16)/8 && (i%1024)/512==(i%32)/16 && (i%512)/256==(i%64)/32 && (i%256)/128==(i%128)/64) q=1;}
            else if(i<32768){if(i/16384==i%2 && (i%16384)/8192==(i%4)/2 && (i%8192)/4096==(i%8)/4 && (i%4096)/2048==(i%16)/8 && (i%2048)/1024==(i%32)/16 && (i%1024)/512==(i%64)/32 && (i%512)/256==(i%128)/64) q=1;}
            else if(i<65536){if(i/32768==i%2 && (i%32768)/16384==(i%4)/2 && (i%16384)/8192==(i%8)/4 && (i%8192)/4096==(i%16)/8 && (i%4096)/2048==(i%32)/16 && (i%2048)/1024==(i%64)/32 && (i%1024)/512==(i%128)/64 && (i%512)/256==(i%256)/128) q=1;}
            else if(i<131072){if(i/65536==i%2 && (i%65536)/32768==(i%4)/2 && (i%32768)/16382==(i%8)/4 && (i%16384)/8192==(i%16)/8 && (i%8192)/4096==(i%32)/16 && (i%4096)/2048==(i%64)/32 && (i%2048)/1024==(i%128)/64 && (i%1024)/512==(i%256)/128) q=1;}
            else if(i<262144){if(i/131072==i%2 && (i%131072)/65536==(i%4)/2 && (i%65536)/32768==(i%8)/4 && (i%32768)/16384==(i%16)/8 && (i%16384)/8192==(i%32)/16 && (i%8192)/4096==(i%64)/32 && (i%4096)/2048==(i%128)/64 && (i%2048)/1024==(i%256)/128 && (i%1024)/512==(i%512)/256) q=1;}
            else if(i<524288){if(i/262144==i%2 && (i%262144)/131072==(i%4)/2 && (i%131072)/65536==(i%8)/4 && (i%65536)/32768==(i%16)/8 && (i%32768)/16384==(i%32)/16 && (i%16384)/8192==(i%64)/32 && (i%8192)/4096==(i%128)/64 && (i%4096)/2048==(i%256)/128 && (i%2048)/1024==(i%512)/256) q=1;}
            else if(i<1048576){if(i/524288==i%2 && (i%524288)/262144==(i%4)/2 && (i%262144)/131072==(i%8)/4 && (i%131072)/65536==(i%16)/8 && (i%65536)/32768==(i%32)/16 && (i%32768)/16384==(i%64)/32 && (i%16384)/8192==(i%128)/64 && (i%8192)/4096==(i%256)/128 && (i%4096)/2048==(i%512)/256 && (i%2048)/1024==(i%1024)/512) q=1;}
            if(p==1 && q==1) sum+=i;
        }
        printf("%d\n",sum);
        return 0;
    }

    Одно из решений с форума http://projecteuler.net/problem=36 - проверка числа и бинарного числа на палиндромность.
    И комментарий к этому решению: "At last found a small mistake in the code.."

    Noname01, 09 Мая 2012

    Комментарии (4)