Одесса: 5°С (вода 9°С)
Киев: 3°С
Львов: 4°С

Тема: задачка по математике

Ответить в теме
Показано с 1 по 2 из 2
  1. Вверх #1

    По умолчанию задачка по математике

    Более подходящего раздела не нашел.

    Мне нужно решить вот такую задачку:
    Сколько существует способов получить число 10 (в общем случае N) из суммы чисел от 1 до 10. Числа могут повторяться. Например:

    1+1+2+2+4, 9+1, 6+1+1+2 и т.д
    Если можно с формулой.

    Задачка вроде школьная по комбинаторике, но я уже не помню как такое решается.
    Спасибо.


  2. Вверх #2
    Посетитель Аватар для Phoenixxe
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    35
    Сообщений
    359
    Репутация
    73
    Записей в дневнике
    2

    Post можно так (Java style)

    public class Test
    {
    static int target = 8;
    public static void main (String[] args){
    System.out.println ("combinations = "+count(new int[0]));
    }

    static int count(int[] values) {
    int aLength = java.lang.reflect.Array.getLength(values);
    int sum = 0;
    for (int i=0;i<aLength;i++) sum = sum + values[i];
    int result = 0;
    for (int i=1;i<=target-sum;i++) {
    if (i+sum-target == 0) {
    for (int j=0;j<aLength;j++) System.out.print (values[j]);
    System.out.println (i+"+");
    return result+1;
    }
    int[] aValues = new int[aLength+1];
    for (int j=0;j<aLength;j++) aValues[j] = values[j];
    aValues[aLength] = i;
    result = result+count(aValues);
    }
    return result;
    }
    }

Ответить в теме

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения