2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 18:31 


05/09/12
2587
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 
Заслуженный участник
Аватара пользователя


09/09/14
6328
_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 
Аватара пользователя


29/04/13
7131
Богородский
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 
Заслуженный участник
Аватара пользователя


09/09/14
6328
Yadryara в сообщении #1237188 писал(а):
Ну так тройка же не обязательный максимум.
Как не обязательный!?

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

 Профиль  
                  
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 21:47 
Аватара пользователя


29/04/13
7131
Богородский
При чём же здесь я? Вот же сам ТС писал:
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 
Заслуженный участник
Аватара пользователя


09/09/14
6328
Yadryara
Ладно, проехали. Пусть будет демократия -- каждый решает что хочет.

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

 Профиль  
                  
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 22:57 


05/09/12
2587
Какие страсти вызвал казалось бы простой коинченьдж :)
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 
Заслуженный участник
Аватара пользователя


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

 Профиль  
                  
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 23:32 
Заслуженный участник


23/07/08
10626
Crna Gora
Я писал программу только для варианта $2$, и у меня тоже получилось $4447$.

 Профиль  
                  
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение31.07.2017, 23:58 


05/09/12
2587
grizzly, вариант 2 отличается от варианта 1 только другими аргументами, поэтому по сути есть только вариант 1. А простота количества решений имхо может удивлять только если предполагать какой-либо мультипликативный закон получения их количества. У меня таких предположений не возникает, поэтому я не удивляюсь :)

 Профиль  
                  
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение01.08.2017, 00:18 
Заслуженный участник
Аватара пользователя


09/09/14
6328
_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 


20/08/14
15
Здравия Вам желаю.

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

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

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

 Профиль  
                  
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение01.08.2017, 16:01 
Заслуженный участник


23/07/08
10626
Crna Gora

(ravnovesie)

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

 Профиль  
                  
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение01.08.2017, 18:56 


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

 Профиль  
                  
 
 Re: Задачи для детей от 5 до 15 лет.
Сообщение07.08.2017, 21:14 


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

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

(ravnovesie)

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


(Оффтоп)

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group