2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3  След.
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 18:31 
ravnovesie в сообщении #1236680 писал(а):
Код
АдЪ и Израиль. Вот более другой кот:

Используется синтаксис C++
int f(int s, int i, int k) { return (s<0 || i<=0 || k<0) ? 0 : (s==0 && k==0) ? 1 : f(s-i, i, k-1) + f(s, i-1, k); }

int main() {
    cout << "1 вариант трактовки условия: " << f(64, 12, 10) << '\n';
    cout << "2 вариант трактовки условия: " << f(64-12, 12, 10-1) << '\n';
}

Код:
1 вариант трактовки условия: 9673
2 вариант трактовки условия: 4447

ЗЫ по-хорошему в кота надо влепить мемоизацию (ака ДП), но на таких малых числах и так неплохо, к тому же она немного смажет красоту приведенного однострочника.

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 21:04 
Аватара пользователя
_Ivana
Я правильно понимаю, что Ваш вариант 1 это второй вариант здесь (и наоборот):
gris в сообщении #1178700 писал(а):
$12+11+11+11+11+4+1+1+1+1=64$ или можно $12+12+11+11+11+3+1+1+1+1=64$
(Второй вариант здесь должен давать намного больше ответов, чем первый.)

Первое вариант у Вас для $f(9, 3, 5)$ даёт результат 3. Посмотрите, какие бывают варианты:
0 0 3 3 3
0 1 2 3 3
0 2 2 2 3
1 1 1 3 3
1 1 2 2 3
Других не вижу. А Вы пытаетесь считать с нулевыми слагаемыми иле без? По коду не пойму, по тестам то так, то сяк получается. Поправьте, пжл, меня или код.

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 21:38 
Аватара пользователя
grizzly в сообщении #1237171 писал(а):
0 0 3 3 3
0 1 2 3 3
0 2 2 2 3
1 1 1 3 3
1 1 2 2 3
Других не вижу.

Ну так тройка же не обязательный максимум. Так что ещё есть вариант
1 2 2 2 2 .

Видимо, _Ivana без нулевых слагаемых считал.

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 21:42 
Аватара пользователя
Yadryara в сообщении #1237188 писал(а):
Ну так тройка же не обязательный максимум.
Как не обязательный!?

Да создайте в конце концов отдельные темы на отдельные задачи! То у Вас нулевые слагаемые вдруг разрешили, теперь максимум стал не обязательным. Всё, ухожу из темы, пока не будет порядка :twisted:

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 21:47 
Аватара пользователя
При чём же здесь я? Вот же сам ТС писал:
ravnovesie в сообщении #1235243 писал(а):
Общая формула для приближенного расчета для условии
$0\leqslant a_1\leqslant a_2\leqslant ...\leqslant a_{n-1}\leqslant a_{n}\leqslant m$

Здесь и нулевые слагаемые допускаются и максимум необязателен.
$a_{n}\leqslant m$, обратите внимание.

-- 31.07.2017, 21:52 --

Да, задача Арнольда несколько по другому сформулирована. Но не факт, что нужно отделять в отдельную тему. Общий случай-то поинтереснее будет.

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 22:06 
Аватара пользователя
Yadryara
Ладно, проехали. Пусть будет демократия -- каждый решает что хочет.

Я только присоединюсь к этому вопросу:
svv в сообщении #1236711 писал(а):
А что выдаёт Ваша программа для исходной задачи? (для сверки)

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 22:57 
Какие страсти вызвал казалось бы простой коинченьдж :)
grizzly в сообщении #1237171 писал(а):
Поправьте, пжл, меня или код.

Хорошо, вот вам новый кот - выводит все рассчитанные варианты и можно играться параметрами. Только сильно большие числа не задавайте - он ведь честно будет песнь заводить, идя налево все варианты выводить :)

Используется синтаксис C++
int r[100];
bool s(int i) { return r[i] && cout<<r[i]<<'\t' && s(i+1); }
int show() { s(1); cout<<'\n'; return 0; }

int f(int s, int i, int k) {
    r[k]=i;
    return (s<0 || i<=0 || k<0) ? 0 : (s==0 && k==0) ? 1 + show() : f(s-i, i, k-1) + f(s, i-1, k);
}
int main() {
    int s=9, n=3, k=5; // играться параметрами здесь
    cout << "первый вариант трактовки условия: " << f(s, n, k) << "\n\n";
    r[k]=n;
    cout << "второй вариант трактовки условия: " << f(s-n, n, k-1) << "\n\n";
}


Код:
1   1   1   3   3   
1   1   2   2   3   
1   2   2   2   2   
первый вариант трактовки условия: 3

1   1   1   3   3   
1   1   2   2   3   
второй вариант трактовки условия: 2

ЗЫ, да, уточню на всякий случай - считаю без нулевых слагаемых (хотя кот только упростится, если их разрешить), вариант №2 требует обязательного присутствия хотя бы одного слагаемого равного n - т.к. Арнольд неоднозначно сформулировал условие.

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 23:26 
Аватара пользователя
_Ivana в сообщении #1237218 писал(а):
вариант №2 требует обязательного присутствия хотя бы одного слагаемого равного n
Спасибо, _Ivana! Этот вариант меня более всего интересовал, поскольку я считаю, что именно так нужно трактовать задачу. Меня настораживала простота количества решений, но теперь понимаю, что всё правильно и так оно и есть. Буду считать теперь, что Арнольд пошутил.

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 23:32 
Аватара пользователя
Я писал программу только для варианта $2$, и у меня тоже получилось $4447$.

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 23:58 
grizzly, вариант 2 отличается от варианта 1 только другими аргументами, поэтому по сути есть только вариант 1. А простота количества решений имхо может удивлять только если предполагать какой-либо мультипликативный закон получения их количества. У меня таких предположений не возникает, поэтому я не удивляюсь :)

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение01.08.2017, 00:18 
Аватара пользователя
_Ivana в сообщении #1237236 писал(а):
если предполагать какой-либо мультипликативный закон получения их количества. У меня таких предположений не возникает, поэтому я не удивляюсь :)
У меня возникали; разные. Например: $f(16;3;10)=3$, а $f(2\cdot 16;2\cdot 3;10)=3^4$. Если бы оказалось, что $f(4\cdot 16; 4\cdot 3;10)$ даст $3^8$ или $3^7$, я бы меньше удивился, чем увидев простое число. (Хорошо, что я не потратил силы на попытки доказательства :)

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение01.08.2017, 08:13 
Здравия Вам желаю.

_Ivana в сообщении #1237128 писал(а):
Вот более другой кот:

Бұл мысығай жақсы екен. Таких символов еще не использовал в программировании на С++. Для моей задачи в return (s<0 || i<= 0 || k<0) необходимо убрать знак =.

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

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение01.08.2017, 16:01 
Аватара пользователя

(ravnovesie)

= это была хорошая кошечка, правильно перевёл?

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение01.08.2017, 18:56 
ravnovesie в сообщении #1237299 писал(а):
Здравия Вам желаю.
Здоровье это хорошо, спасибо, вам того же.
ravnovesie в сообщении #1237299 писал(а):
Таких символов еще не использовал в программировании на С++.
Значит самое время познакомиться с такими символами. А еще лучше - разобраться и понять кота :-)
ravnovesie в сообщении #1237299 писал(а):
Для моей задачи в return (s<0 || i<= 0 || k<0) необходимо убрать знак =
Именно так. Вот видите, вы уже часть его повадок понимаете :-)

 
 
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение07.08.2017, 21:14 
Здравия Вам желаю.
Всё это время этой задачкой болел. При больших числах нормальному распределению подчиняются и отдельные члены суммы, при этом среднее значение смещается линейно нумерации. Учитывая что их распределения не являются независимыми, дает ли мне это основание считать, что их сумма тоже подчиняется нормальному распределению?
Нашел доказательство для формулы $\sigma$. Оказалось обидно просто. Даже не знаю стоит ли публиковать. Ещё подумаю, можно ли получить вывод этой формулы дисперсии.

svv в сообщении #1237410 писал(а):

(ravnovesie)

= это была хорошая кошечка, правильно перевёл?


(Оффтоп)

"Оказывается это хороший котенок". Но я сам казахский язык плохо знаю, поэтому изучаю его.

 
 
 [ Сообщений: 40 ]  На страницу Пред.  1, 2, 3  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group