Если требуется задавать однозначные вопросы (да/нет) и вы сделали опечатку и имеется в виду "минимальное":
В году 365-366 дней. = 512. 9 вопросов вполне достаточно, чтобы узнать точный день рождения человека, если в году от 257 до 512 дней.
Поясняю: Каждый вопрос, максимум, может уменьшать твою неопределенность в 2 раза. То есть, первый вопрос: в какой половине года у тебя день рождения? (убирает 6 лишних месяцев) след. Вопрос: в какой половине этой половины (четверти)?: определяет точный месяц. И так далее.
Если имелось в виду минимальное кол-во любых вопросов: 1. Когда у тебя день рождения?
Если имелось в виду максимальное: бесконечно.
Формулируйте вопросы грамотно.
deshkina82
24.10.2022
PascalABC.NET 3.4.0, сборка 1672 от 10.06.2018 Внимание! Если программа не работает, обновите версию!
Самое глупое, что можно было придумать - использовать цикл с предусловием while ... do там, где имеется заданное число повторений:
begin var n:=ReadInteger('n='); var (s,i):=(0.0,1); while i<=n do begin s+=1/Sqr(2*i+1); i+=1 end; Writeln('S=',s) end.
Пример n= 10 S=0.210988884817533
Гораздо естественнее тут выглядит цикл со счетчиком:
begin var n:=ReadInteger('n='); var s:=0.0; for var i:=1 to n do s+=1/Sqr(2*i+1); Writeln('S=',s) end.
А если использовать современные возможности программирования в PascalABC.NET, решение вообще в одну строчку:
begin Writeln('S=',SeqGen(ReadInteger('n='),t->1/Sqr(2*t+1),1).Sum) end.
Вроде
Бит, байт, килобит, килобайт, мегабайт, гигабайт, терабайт, эксабайт, зеттабайт, Йоттабайт, петабайт