Системы счисления (тест 4) ction=139&probid=4 Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке программирования. Тесты указаны в самом условии, от вас требуется лишь ввести ответы на них в тестирующую систему. Недавно на уроке информатики Вася узнал о позиционных системах счисления. Ему очень понравилось представлять разные числа в двоичной, троичной и даже девятеричной системе счисления. Помимо этого Васе нравится записывать цифры числа в обратном порядке. Вася берет произвольное натуральное число хи выполняет последовательно следующие три действия: 1. Вася переводит число X во все системы счисления с основанием от 2 до 9; 2. Все числа, полученные на предыдущем шаге, Вася записывает в обратном порядке, отбрасывая при этом у всех перевернутых чисел ведущие нули; 3. Вася находит максимальное из чисел, полученных на втором шаге, сравнивая значения этих чисел, как будто они записаны в десятичной системе счисления. Какой результат получит Вася после выполнения трех шагов своего алгоритма для числа Х? во все системы счисления с Примечание Например, Вася хочет решить задачу для числа X = 8. Переведем число 8 основаниями k, где k принимает значения от 2 до 9. При k = 2 получаем 810 10002; при k = 3 получаем 810 = 223; при k = 4 получаем 810 = 204 при k = 5 получаем 810 135; при k = 6 получаем 810 126; при k = 7 получаем 810 = 11; при k = 8 получаем 810 108; при k = 9 получаем 810 = 80. Теперь запишем цифры данных чисел в обратном порядке и отбросим ведущие нули. Получим числа 1 (для k = 2), 22 (для k = 3), 2 (для k = 4), 31 (для k = 5), 21 (для k = 6), 11 (для k = 7), 1 (для k = 8), 8 (для k = 9). Теперь рассматриваем эти числа, как будто они записаны в десятичной системе счисления. Тогда максимальное из них равно 31, что и является ответом для исходного числа X = 8. • Тест №1: х = 4; Close Firefox s911-03-32-047 [Школьн...
Из-за дурацкого сбоя этого сервиса при сохранении ответа пропал получасовой набор формул в модераторов удалить этот ответ.
P.S. Набираешь ответ - как по минному полю идешь. При нажатии "сохранить" неизвестно что произойти может. Например, при случайном нажатии "сохранить ответ" (каждый может ошибиться) нет анализа, того, что в поле набора данных не пусто и весь этот набор формул мгновенно "улетает в никуда". Я уж не говорю о постоянных "Вы были отключены от сервера".
И еще. Поскольку автор вопроса не виноват, даю два "голых" (без формул) решения.
1. Рекурсивная программа (как не надо решать подобные задачи)
{ рекурcивная программа } function prod(a,b:integer):real; var i:integer; p:real; begin p:=1; for i:=a to b do p:=p*i; prod:=p end;
function pow2(n:integer):integer; var i,p:integer; begin p:=1; for i:=1 to n do p:=p*2; pow2:=p end;
function an(n:integer):real; begin if n=1 then an:=0.5 else an:=an(n-1)*n/prod(pow2(n-1)+1,pow2(n)) end;
var s:real; i,n:integer; begin Write('n='); Read(n); s:=0; for i:=1 to n do s:=s+an(i); Writeln(s) end.
Пример: n=4 0.58348214285829
2. А вот рекуррентная, которую можно написать, если немного подумать.
{ рекуррентная программа } var a,p,s:real; i,j,n,lo,hi:integer; begin Write('n='); Read(n); a:=0.5; s:=a; lo:=1; hi:=2; for i:=2 to n do begin p:=1; lo:=hi+1; hi:=hi*2; for j:=lo to hi do p:=p*j; a:=a*i/p; s:=s+a end; Writeln(s) end.
begin var n:=readInteger('Число элементов массива-'); var a:=ArrRandom(n,-50,50); a.Println; for var i:=1 to n-2 do a[i]:=2*(i+1); a.Println end.
Пример Число элементов массива- 10 -40 4 -49 0 -47 41 49 33 -31 -1 -40 4 6 8 10 12 14 16 18 -1
begin var n:=readInteger('Число элементов массива-'); var a:=ArrRandom(n,-50,50); a.Println; var i1:=a.IndexMax; var i2:=a.IndexMin; Writeln(a[min(i1,i2)+1:max(i1,i2)].Where(x->x<0).Sum) end.
Пример Число элементов массива- 18 -45 -30 -49 -44 34 -5 -12 -28 22 14 -39 -20 -46 50 6 21 20 -47 -194
begin var a:=ReadlnString('Введите строку;').ToCharArray; // было сделано так только ради получения массива символов, // который на самом деле только мешает Writeln(a); if Pos('...',a.JoinIntoString)>0 then Writeln('Троеточие в массиве есть') else Writeln('Троеточия в массиве нет') end.
Пример Введите строку; 6ye$% DFDRT..drrtert...DFDGD [6,y,e,$,%, ,D,F,D,R,T,.,.,d,r,r,t,e,r,t,.,.,.,D,F,D,G,D] Троеточие в массиве есть
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку