На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 1
ссылка на сообщение  Отправлено: 17.11.20 21:09. Заголовок: Задача 103. Ограничение на количество команд


Здравствуйте! Подскажите, пожалуйста, правильный алгоритм решения новых задач, например з.103 из ЕГЭ-23. Все путается и каждый раз ответ разный. Заранее большое спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 15 [только новые]





Не зарегистрирован
ссылка на сообщение  Отправлено: 23.11.20 02:16. Заголовок: Если не трудно - выл..


Если не трудно - выложите кто-нибудь код для задач 103-107, в которых есть привязка на кол-во команд, на python или pascal, а то java какая-то мутная.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 24.11.20 00:14. Заголовок: Если не трудно - вы..



 цитата:

Если не трудно - выложите кто-нибудь код для задач 103-107, в которых есть привязка на кол-во команд, на python или pascal, а то java какая-то мутная.



#103.Сколько существует программ, состоящих из 6 команд, для которых при исходном числе 1 результатом является число 20?
 n = 1 
a = []
b = []
#первое действие
a.append(n+1)
a.append(n+2)
a.append(n*2)
#действий на одно меньше
for k in range(5):
n = len(a)
for i in range(n):
a.append(a[0]+1)
a.append(a[0]+2)
a.append(a[0]*2)
a.remove(a[0]) #удаляем оригинал после всех действий
print(a.count(20)) #сбор всех результатов в массив и подсчёт в нём 20.

Если нужно подсчитать количество различных элементов, можно создать второй массив из неповторяющихся эл-ов первого:
 for i in a: 
if i not in b:
b.append(i)


Спасибо: 0 
Цитата Ответить
Администратор




Сообщение: 2188
ссылка на сообщение  Отправлено: 04.12.20 17:22. Заголовок: Вот решение задачи 1..


Вот решение задачи 105 на Python:
 TARGET = 25 

def rec( n, remains ):
if remains == 0:
if n == TARGET: return 1
return 0
return rec( n+1, remains-1 ) + \
rec( n+3, remains-1 ) + \
rec( n*2, remains-1 )

print( rec(2, 7) )


___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 43
ссылка на сообщение  Отправлено: 23.01.21 21:39. Заголовок: Поляков пишет: ret..


Поляков пишет:

 цитата:
return rec( n+1, remains-1 ) + \


А что такое + \ ?
Все, понятно: + сумма \ - перевод строки

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 348
ссылка на сообщение  Отправлено: 23.01.21 23:20. Заголовок: "\" - пр..


OlgaChe1 пишет:
 цитата:
А что такое + \ ?


"\" - продолжение на следующей строке.

Получаем: return rec( n+1, remains-1 ) + rec( n+3, remains-1 ) + rec( n*2, remains-1 ).

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 20.11.20 22:27. Заголовок: Дополнение


Возможно кому-нибудь полный список программ поможет дойти до решения

1 → 2 → 3 → 4 → 5 → 10 → 20
1 → 2 → 3 → 4 → 8 → 10 → 20
1 → 2 → 3 → 6 → 8 → 10 → 20
1 → 2 → 4 → 6 → 8 → 10 → 20
1 → 2 → 4 → 8 → 9 → 10 → 20
1 → 2 → 4 → 8 → 9 → 18 → 20
1 → 2 → 4 → 8 → 16 → 18 → 20
1 → 2 → 4 → 6 → 8 → 10 → 20
1 → 2 → 4 → 8 → 9 → 10 → 20
1 → 2 → 4 → 8 → 9 → 18 → 20
1 → 2 → 4 → 8 → 16 → 18 → 20
1 → 3 → 4 → 6 → 8 → 10 → 20
1 → 3 → 4 → 8 → 9 → 10 → 20
1 → 3 → 4 → 8 → 9 → 18 → 20
1 → 3 → 4 → 8 → 16 → 18 → 20
1 → 3 → 5 → 6 → 8 → 10 → 20
1 → 3 → 5 → 7 → 8 → 10 → 20
1 → 3 → 5 → 7 → 9 → 10 → 20
1 → 3 → 5 → 7 → 9 → 18 → 20
1 → 3 → 6 → 7 → 8 → 10 → 20
1 → 3 → 6 → 7 → 9 → 10 → 20
1 → 3 → 6 → 7 → 9 → 18 → 20
1 → 3 → 6 → 8 → 9 → 10 → 20
1 → 3 → 6 → 8 → 9 → 18 → 20
1 → 3 → 6 → 8 → 16 → 18 → 20
1 → 2 → 3 → 4 → 5 → 10 → 20
1 → 2 → 3 → 4 → 8 → 10 → 20
1 → 2 → 3 → 6 → 8 → 10 → 20
1 → 2 → 4 → 6 → 8 → 10 → 20
1 → 2 → 4 → 8 → 9 → 10 → 20
1 → 2 → 4 → 8 → 9 → 18 → 20
1 → 2 → 4 → 8 → 16 → 18 → 20
1 → 2 → 4 → 6 → 8 → 10 → 20
1 → 2 → 4 → 8 → 9 → 10 → 20
1 → 2 → 4 → 8 → 9 → 18 → 20
1 → 2 → 4 → 8 → 16 → 18 → 20

Спасибо: 1 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 20.11.20 22:27. Заголовок: Решение на Java


В спешке набросал решение на Java. Может кому пригодится.

https://gist.github.com/mskorotkov/80342ce0794cd97dc1d5bd54967dfb22

Спасибо: 0 
Цитата Ответить





Сообщение: 1
ссылка на сообщение  Отправлено: 18.04.21 20:57. Заголовок: Вопрос по задачам 23 (номера 103-107 из тренинга)


Доброго! Вижу, я не первый, судя по форуму, задаю вопрос по задачам 23 (номера 103-107 из тренинга)...
Во вложении рекурсивная программа на С++ из ваших материалов, решающая задачу 103, но ищущая полное количество
путей…
Вопрос: какие дополнения в программу на C++ нужно внести, чтобы она искала только «программы», состоящие из 6 команд?

 
#include <iostream>
using namespace std;
int Prog( int start, int x)
{
int K;
if( x < start) return 0;
if( x == start) return 1;
K = Prog( start, x-1);
K+=Prog(start, x-2);
if(x % 2 == 0 )
K+=Prog(start,x/2);
return K;
}

int main()
{
cout << Prog(1,20) << endl;
}


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2720
ссылка на сообщение  Отправлено: 18.04.21 22:15. Заголовок: Маслов Евгений пишет..


Маслов Евгений пишет:
 цитата:
какие дополнения в программу на C++ нужно внести, чтобы она искала только «программы», состоящие из 6 команд?

Нужно добавить в рекурсивную функцию один параметр, который обозначает количество оставшихся свободных шагов. Пример на Питоне есть выше.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 22
ссылка на сообщение  Отправлено: 20.04.21 11:53. Заголовок: Решение 105 d..


Решение задачи 23 105

 def f(x,t,l): 
if x==t and l==7:
return 1
elif x>t:
return False
else:
return f(x+1,t,l+1) +f(x+3,t,l+1) +f(x*2,t,l+1)

print(f(2,25,0))


Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 16.03.22 09:25. Заголовок: спасибо..


спасибо

Спасибо: 0 
Цитата Ответить





Сообщение: 2
ссылка на сообщение  Отправлено: 28.04.21 21:25. Заголовок: Спасибо, всем, кто п..


Спасибо, всем, кто помог конструктивными советами... Теперь задачи 103-107 на C++ оформлены в едином стиле!!! 103 прилагается...

 
#include <iostream>
using namespace std;
int Prog( int start, int x, int l)
{
int K;
if( x < start) return 0;
if( x == start and l==0) return 1;
K = Prog( start, x-1,l-1);
K+=Prog(start, x-2,l-1);
if(x % 2 == 0 )
K+=Prog(start,x/2,l-1);
return K;
}

int main()
{
cout << Prog(1,20,6) << endl;
}


Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 17
ссылка на сообщение  Отправлено: 07.06.21 14:22. Заголовок: А как это работает н..


А как это работает на Паскале?

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1
ссылка на сообщение  Отправлено: 26.09.21 21:48. Заголовок: С программой понятно..


С программой понятно. А есть красивое объяснение без использование программы?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2913
ссылка на сообщение  Отправлено: 28.09.21 10:23. Заголовок: x-ile пишет: А есть ..


x-ile пишет:
 цитата:
А есть красивое объяснение без использование программы?

Пока нет.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 2114
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет