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

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

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

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



Сообщение: 16
ссылка на сообщение  Отправлено: 27.11.21 12:31. Заголовок: Задача 16.113


Условия:
Алгоритм вычисления функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:
F(n) = 0 при n = 0
F(n) = F(n/2) – 1 при n > 0 для чётных n
F(n) = 3 + F(n–1) при n > 0 для нечётных n
Сколько различных значений может принимать функция F(n) для чисел n, меньших 1000?

Мое решение:

##
function f(n:integer):integer;
begin
if n = 0 then
Result:=0
else
begin
if (n > 0) and n.IsEven then
begin
Result:=(n div 2) -1;
end;
if (n > 0) and n.IsOdd then
begin
Result:=(n - 1) +3;
end;
end;
end;

var L := new SortedSet<integer>;
for var i:=1 to 999 do
begin
L.Add(f(i));
end;
L.count.Println;

Мой ответ: 751. В ответах: 26?

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





Сообщение: 17
ссылка на сообщение  Отправлено: 27.11.21 12:46. Заголовок: Опечатку в коде нашел у себя). Все верно!


{16.113) Алгоритм вычисления функции F(n),
где n – целое неотрицательное число,
задан следующими соотношениями:
F(n) = 0 при n = 0
F(n) = F(n/2) – 1 при n > 0 для чётных n
F(n) = 3 + F(n–1) при n > 0 для нечётных n
Сколько различных значений может принимать
функция F(n) для чисел n, меньших 1000?}
##
function f(n:integer):integer;
begin
if n <= 0 then
Result:=0
else
begin
if (n > 0) and n.IsEven then
begin
Result:=f(n div 2) -1;
end;
if (n > 0) and n.IsOdd then
begin
Result:=f(n - 1) +3;
end;
end;
end;

var L := new SortedSet<integer>;
for var i:=1 to 999 do
begin
L.Add(f(i));
end;
L.count.Println;

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



Сообщение: 48
ссылка на сообщение  Отправлено: 08.12.21 12:36. Заголовок: Задача 16.109 - не работает программа


16.109
F(n) = 0 при n ≤ 2 и n = 8
F(n) = 1 при n = 3
F(n) = F(n–2) + F(n–1) при n > 3 и n  8
Для какого значения n значение F(n) будет равно 25?
Сделал программу и т попробовал вставить в нее ответ (F(13)). Не работает! Подскажите, пожалуйста, что может быть не так в программе?
 
#16.109
def F( n ):
if n <=2 and n ==8: return 0
elif n ==3:
return 1
elif n >3 and n!=8:
return F(n-1) + F(n-2)

print(F(13))


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





Сообщение: 473
ссылка на сообщение  Отправлено: 08.12.21 22:35. Заголовок: Ответ


16.109


 цитата:
if n <= 2 or n == 8: return 0



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



Сообщение: 49
ссылка на сообщение  Отправлено: 08.12.21 13:32. Заголовок: Задача 16.113


Вот программа на Питоне:
 
def F( n ):

if n ==0: return 0
elif n>0 and n%2 ==0:
return F(n//2) - 1
elif n >0 and n%2 !=0:
return 3+F( n-1)
m = set()
for i in range (1,1000):
r = F(i)
m.add(str(r))

print('n = ',len(m))

#Rez = 26



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





Сообщение: 474
ссылка на сообщение  Отправлено: 08.12.21 22:37. Заголовок: Вариант решения


Вариант решения 16.113:
 цитата:
 def F(n): 
if n == 0: return 0
if n > 0 and n % 2 == 0: return F(n//2) - 1
if n > 0 and n % 2 != 0: return 3 + F(n-1)

print(len(set([F(x) for x in range(1000)])))



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

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