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

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

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

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



Сообщение: 13
ссылка на сообщение  Отправлено: 10.12.21 10:12. Заголовок: Другой ответ в №3763


Добрый день. В номере 3763(А.Кабанов) получается ответ 4576 800. В чём моя ошибка ? 
const n=1000;
var m:array[1..n] of integer;
a,i,k,j,p,f,max,l:integer;
sr:real;
begin
assign(input,'26-47.txt');
for i:=1 to n do
begin
readln(a);
m[ i]:=a;
end;
max:=0;
for i:=1 to n-1 do
begin
for j:=2 to n do
begin
k:=m[ i]+m[ j];
sr:=k/2;
end;
for p:=1 to n do
begin
if m[ p]<sr then inc(f);
if (f mod 100=0)and(f>0) then
begin
inc(l);
if f>max then max:=f;
end;
end;
f:=0;
end;
write(l/2,' ',max);
end.


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







Сообщение: 545
ссылка на сообщение  Отправлено: 10.12.21 13:24. Заголовок: ПОЧИТАЙТЕ ТЕКСТ В ЖЁ..


ПОЧИТАЙТЕ ТЕКСТ В ЖЁЛТОЙ РАМКЕ

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



Сообщение: 16
ссылка на сообщение  Отправлено: 23.12.21 07:54. Заголовок: Исправил..


Исправил

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





Сообщение: 552
ссылка на сообщение  Отправлено: 23.12.21 08:44. Заголовок: Ваш код содержит огр..


Ваш код содержит огромное количество алгоритмических ошибок.
Решать надо вот так
 const 
n = 1000;

var
m: array[1..n] of integer;
i, j, p, f, max, l: integer;
sr: real;

begin
assign(input, '26-47.txt');
readln();
for i := 1 to n do readln(m[ i ]);
max := 0;
l := 0;
for i := 1 to n - 1 do
for j := i+1 to n do
begin
f := 0;
sr := (m[ i ] + m[j]) / 2;
for p := 1 to n do if m[p] < sr then inc(f);
if (f mod 100 = 0) and (f > 0) then
begin
inc(l);
if f > max then max := f;
end;
end;
write(l, ' ', max);
end.


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



Сообщение: 3
ссылка на сообщение  Отправлено: 29.05.22 12:35. Заголовок: cabanov.alexey по п..


cabanov.alexey по программе ответ получается 8315 900. В условие 4885 900

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





Сообщение: 586
ссылка на сообщение  Отправлено: 30.05.22 06:27. Заголовок: cabanov.alexey по пр..



 цитата:
cabanov.alexey по программе ответ получается 8315 900. В условие 4885 900



Моё решение выше выдаёт 4885 900.


 цитата:
cabanov.alexey более того, такое решение, если даже ответ 8315 900 верный, " прокатит" только на файле, где нет повторяющихся чисел (В файле в условие повторяющихся нет. Это довольно просто проверить через stream().distinct() и сравнить размеры до и после). Ненулевое значение это значение не равное 0, а не больше 0. Решать "так" не надо.



Цитата из условия задачи: Гарантируется, что все числа различны.
Дальнейшую претензию не особо понял, с учётом того что речь про количество чисел.

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



Сообщение: 4
ссылка на сообщение  Отправлено: 29.05.22 12:44. Заголовок: cabanov.alexey более..


cabanov.alexey более того, такое решение, если даже ответ 8315 900 верный, " прокатит" только на файле, где нет повторяющихся чисел (В файле в условие повторяющихся нет. Это довольно просто проверить через stream().distinct() и сравнить размеры до и после). Ненулевое значение это значение не равное 0, а не больше 0. Решать "так" не надо.

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



Сообщение: 23
ссылка на сообщение  Отправлено: 21.03.22 12:31. Заголовок: Спасибо..


Спасибо

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



Сообщение: 2
ссылка на сообщение  Отправлено: 12.06.22 14:35. Заголовок: Решение на Питоне


Задание 26 предполагает использование сортировки. На Паскале Ваше решение работает и без сортировки, но на Питоне программа с тремя (!) вложенными циклами будет работать очень долго. Грамотное решение - используем сортировку. Пусть L - отсортированный список чисел. Поскольку гарантируется, что все числа различны, то количество чисел, меньших L[ i] равно i (элементы списка в Питоне нумеруются с 0). Обозначим через sr - среднее арифметическое пары L[ i] и L[j], k- количество элементов списка, меньших, чем sr. Так как список отсортирован, то гарантированно k>i, и равно максимальному значению, для которого L[k] < sr.
Программа:
 
f = open('26-47.txt')
n=int(f.readline())
L=sorted(int(x) for x in f.read().split())
f.close()
num=0
kmax=0
for i in range(n-1):
for j in range(i+1,n):
sr=(L[ i]+L[j])/2
k=i
while L[k]<sr: k+=1
if k>0 and k%100==0: # k>0 можно убрать!
num+=1
if k>kmax: kmax=k
print(num,kmax)


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

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