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

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

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

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



Сообщение: 1
ссылка на сообщение  Отправлено: 13.06.15 15:50. Заголовок: Досрочный вариант С4


Задание:
На спутнике «Восход» установлен прибор, предназначенный для измерения
солнечной активности. Каждую минуту прибор передаёт по каналу связи
неотрицательное целое число – количество энергии солнечного излучения,
полученной за последнюю минуту, измеренное в условных единицах.
Временем, в течение которого происходит передача, можно пренебречь.
Необходимо найти в заданной серии показаний прибора минимальное
нечётное произведение двух показаний, между моментами передачи которых
прошло не менее 6 минут. Если получить такое произведение не удаётся,
ответ считается равным –1. Количество энергии, получаемое прибором за
минуту, не превышает 1000 условных единиц. Общее количество показаний
прибора в серии не превышает 10 000.


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





Сообщение: 2
ссылка на сообщение  Отправлено: 13.06.15 15:52. Заголовок: Подскажите, подойдёт..


Подскажите, подойдёт ли моё решение для Б-части этого задания
var max:longint;i:byte;j,n:integer;a:array[1..8]of integer;
begin
max:=-1;
read(n);
for i:=1 to 7 do read(a);
for j:=8 to n do begin
read(a[8]);
if ((a[1]*a[7])mod 2<>0) then
if ((a[1]*a[7]>max) then
max:=a[1]*a[7];
if ((a[1]*a[8])mod 2<>0) then
if ((a[1]*a[8]>max) then
max:=a[1]*a[8];
if ((a[2]*a[8])mod 2<>0) then
if ((a[2]*a[8]>max) then
max:=a[2]*a[8];
for i:=1 to 7 do a:=a[i+1]
end;
writeln(max)
end.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 88
ссылка на сообщение  Отправлено: 13.06.15 16:36. Заголовок: нет shkereos пишет: ..


нет
shkereos пишет:

 цитата:

for i:=1 to 7 do read(a);
...
for i:=1 to 7 do a:=a[i+1]


недостает индекса
и судя по-всему это решение другой задачи, т.к. расстояние между двумя элементами не обязательно равно 6. Должно быть не менее 6. Значит, это может быть произведение самого первого и сотого элемента в списке. И отсутствует проверка случая "нет таких чисел". Скорее всего за такое решение если дадут, то 1 балл.

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 90
ссылка на сообщение  Отправлено: 13.06.15 17:11. Заголовок: MEA пишет: нет shk..


MEA пишет:

 цитата:
нет
shkereos пишет:

 цитата:

for i:=1 to 7 do read(a);
...
for i:=1 to 7 do a:=a[i+1]




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 89
ссылка на сообщение  Отправлено: 13.06.15 16:45. Заголовок: shkereos пишет: Нео..


shkereos пишет:

 цитата:
Необходимо найти в заданной серии показаний прибора минимальное
нечётное произведение


shkereos пишет:

 цитата:
if ((a[1]*a[7]>max) then
max:=a[1]*a[7];




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



Сообщение: 3
ссылка на сообщение  Отправлено: 13.06.15 17:05. Заголовок: Извините, я не проверил свой текст. Уделите пожайлуста немного внимания новому


var min:longint;i:byte;j,n:integer;a:array[1..8]of integer;
begin
min:=1000000;
read(n);
for i:=1 to 7 do read(a);
for j:=8 to n do begin
read(a[8]);
if ((a[1]*a[7])mod 2<>0) then
if ((a[1]*a[7]<min))then
min:=a[1]*a[7];
if ((a[1]*a[8])mod 2<>0) then
if ((a[1]*a[8]<min)) then
min:=a[1]*a[8];
if ((a[2]*a[8])mod 2<>0) then
if ((a[2]*a[8]<min)) then
min:=a[2]*a[8];
for i:=1 to 7 do a:=a[i+1]
end;
writeln(min)
end.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 91
ссылка на сообщение  Отправлено: 13.06.15 17:13. Заголовок: Вы изменили только м..


Вы изменили только минимум-максимум. А все остальное?

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



Сообщение: 3
ссылка на сообщение  Отправлено: 14.06.15 15:18. Заголовок: на 4 балла тянет ? с..


на 4 балла тянет ? с++
#include <bits/stdc++.h>
using namespace std;
int a[6], x, minP = 1e8,Min=1e8,n;
int main(){
cin >> n;
for (int i = 0; i < 6; i++)
cin >> a[ i ];
for (int i = 6; i < n; i++){
cin >> x;
if (a[i % 6] % 2 && a[i % 6]< Min)
Min = a[i % 6];
if ((Min*x) % 2 && Min*x < minP)
minP = Min*x;
a[i % 6] = x;
}
cout << (minP == 1e8 ? -1 : minP);
return 0;
}

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

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