1. C# / Говнокод #17756

    +2

    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
    int a,b,c,d,e,f, k = 1;
     
     
     
     
                for (a = 0; a < 9; a++)
                    for (b = 0; b < 9; b++)
                        for (c = 0; c < 9; c++)
     
                            for (d = 0; d < 9; d++)
                                for (e = 0; e < 9; e++)
                                    for (f = 0; f < 9; f++)
                        {
                            if (a + b + c == d + e + f && a+b+c == 13)
                                k = k + 1;
                        }
      
     
     
                Console.WriteLine("кол-во комбинаций: " + k + " ");
                Console.WriteLine("кол-во билетов: " + k * k);

    Очередные лабы... God, whyyy...

    Запостил: Psilon, 09 Марта 2015

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

    • "Назовем шестизначное число счастливым, если сумма первых его трех цифр равна сумме последних трех. Подсчитать число счастливых шестизначных цифр, у которых сумма трех цифр равна 13."
      Ответить
      • у которых сумма трех цифр равна 13 - трех первых или трех любых?
        Ответить
      • Ну, собственно, код прост и нагляден. А современному процу до миллиона посчитать - раз плюнуть. В общем для одноразовой лабы сойдёт.
        Ответить
    • ошибки -
      циклы не включают 9
      к изначально 1 а не 0
      возведение в квадрат нинужно
      Ответить
    • бред в 4 утра
      http://ideone.com/XKDaNw
      Ответить
      • digit(X) :- member(X, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]).
        
        lucky(A, B, C) :- 
            digit(A), digit(B), digit(C), 
            AB is A + B, ABC is AB + C, ABC = 13.
        
        findall([A, B, C], lucky(A, B, C), Y), length(Y, Z).
        Y = [[0, 4, 9], [0, 5, 8], [0, 6, 7], [0, 7, 6], [0, 8, 5], [0, 9, 4], [1, 3|...], [1|...], [...|...]|...],
        Z = 75.
        Ответить
        • пролог, пролог, как давно я его не видел!

          main = print. flip (^) 2 $ length  [1|x<-l,y<-l,z<-l, x+y+z ==13]
          	where l = [0..9]
          Ответить
          • Не подскажите че это я квадратичную задачу кубом решаю?
            main = print. flip (^) 2 $ length  [1|x<-l,y<-l, x+y >= 13-9, x+y <= 13]
            	where l = [0..9]
            Ответить
            • А где тут куб?
              Ответить
              • x<-l,y<-l,z<-l
                же

                когда можно x<-l,y<-l и 2 условия
                Ответить
            • Это читерство, так можно и на бумажке решить, а потом ответ подставить.
              Ответить
            • Кстати, flip (^) 2 - это горе от ума. (^2)
              Тут и без квадрата можно обойтись:
              main = print . sum $ xs where
              	xs = [length xs|x<-l,y<-l, x+y >= 13-9, x+y <= 13]
              	l = [0..9]
              Ответить
            • Опять питушня flip (^) 2 вместо (2^)
              Ответить
        • Нооорм. Хотя бага есть - ноль ведущим быть не может.
          Ответить
          • >>кол-во билетов
            >> билетов
            >>ноль ведущим быть не может

            щито?!
            Ответить
            • Ок, ок, был не прав, уже сливаюсь *плюх, пшшшшшш*
              Ответить
        • А я думал на прологе будет самый короткий вариант, а не на хаски. Но то что он будет самым не оптимальным - это точно)
          Ответить
          • use_module(library(clpfd)).
            
            lucky(A, B, C) :- 
                [A, B, C] ins 0..9, maplist(indomain, [A, B, C]), 
                sum([A, B, C], #=, 13).
            
            % ?- findall([A, B, C], lucky(A, B, C), Y), length(Y, Z).

            Если сильно напрячься, то можно и короче (но с библиотеками).
            Ответить
            • подскажите нубцу как это правильно написать, а то я сегодня первый день

              (+/+/+/ 13= (i.+/i.+/i.) 10)^2
              Ответить
              • нашел как квадрат можно так записать. меня нахождение суммы смущает

                *:+/+/+/13=(i.+/i.+/i.)10
                Ответить
                • Ну фрейм можно заполнить и так: (3 $ 10) $ i. 10
                  Ответить
                  • А, не, я не правильно задумку понял.
                    Ответить
                    • *:+/+/(>:&4*.<:&13)(i.+/i.)10
                      Ответить
                      • Как вы это читаете?
                        Ответить
                        • квадрат суммы сумм (больших или равных 4 и меньших или равных 13) (целых чисел до x таблично сложенных с целыми чиселами до x) где x = 10
                          Ответить
    • Помню, сидел я на экологии и решал на бумажке эту задачу. Хотел, чтобы работало для всех систем счисления и для действительно больших чисел, но позже выяснилось, что моя реализация по какой-то причине не работает при двадцати трех и выше десятичных разрядах, ну а также совсем нестабильно работает в системах с основаниями, отличными от десяти. Код показывать не буду, потому что засмеёте, но я строил матрицу, определенно имеющую много общего с треугольником Паскаля, и по ней явно будет видно, что для каждой части шестизначного номера (то есть для левой и правой) количество комбинаций будет равно 75, и, следовательно, искомое число сатанически счастливых билетов будет равно 75 * 75 = 5625. Вот дебаг-вывод программы, если кому из юных читателей вдруг покажется это интересным: http://pastebin.com/iH6w8sHp
      Ответить
    • Самое интересное со 2 по 5 строку. И может быть ещё 17-19.
      Ответить
      • Одиночные пробелы вместо ожидаемых пустых строк? ВОТ ЭТО ПОРОВОТ
        Ответить

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