Форум » Обработка числовых последовательностей » С4 №61 » Ответить

С4 №61

Bluemix: Здравствуйте! Решил 61 задачу следующим образом: var a:array[0..3] of integer; N,i,k,x,max,R:integer; begin max:=-1; readln (N); for i:=1 to N do begin readln (x); k:=x mod 3; if (k=0) and (a[0]>0) and (a[0]+x>max) then max:=a[0]+x; // Для случая, когда остаток обоих чисел равен 0. if x>a[k] then a[k]:=x; if (a[3-k]<>0) and (a[3-k]+x>max) then max:=a[3-k]+x; //Если остаток k=2, то складываем с числом у которого остаток равен 1, и наоборот. end; readln (R); if max=-1 then max:=1; writeln ('Вычисленное контрольное значение: ',max); if max=R then writeln ('Контроль пройден') else writeln ('Контроль не пройден'); end. Скажите, возможно ли такое решение? Cпасибо заранее.

Ответов - 6

Поляков: Bluemix пишет: Скажите, возможно ли такое решение? По-моему, очень неплохое решение. Можно его добавить в основной файл под вашим авторством?

Bluemix: Конечно можно! Мои Ф.И.О Стручков Михаил Павлович.

Поляков: Добавлено. Я решение немного "причесал", если вы не возражаете.


Кубай А.: *PRIVAT*

Поляков: Кубай А. пишет: В разборе задачи А из №61 мне не все кажется удачным. Во-первых, перебор пар элементов разве не очевиднее циклами for i := 1 to N-1 do for j := i+1 to N do ? А не все ли равно? я вообще не увидела, где учитывается вариант, когда таких чисел нет и R присваивается 1 Это я забыл. Исправлено. Спасибо за замечание.

Bluemix: Здравствуйте еще раз! Попробовал решить задачу 62 без символьных строк, оцените пожалуйста правильность моего решения: var x,x1,M:longint; count:integer; begin count:=0;//количество гласных x1:=0; readln (x); while x>0 do begin M:=x mod 2;//узнаем очередную цифру двоичного кода x1:=x1*10; if M=1 then begin if x1=0 then x1:=x1+1 else begin write ('A'); count:=count+1; x1:=0; end; end else if M=0 then begin if x1=10 then begin write ('P'); x1:=0; end else begin write ('E'); count:=count+1; end; end; x:=x div 2; end; writeln; writeln (count); //по замыслу последняя единица будет учтена, но никак не повлияет на итог end.



полная версия страницы