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

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

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

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



Сообщение: 1
ссылка на сообщение  Отправлено: 25.11.21 10:08. Заголовок: Задание 17 №164


Здравствуйте! № 164 Подскажите, в чем ошибка (не сходится ответ)
{В файле 17-3.txt содержится последовательность целых чисел.
Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно.
Определите и запишите в ответе сначала количество троек элементов
последовательности, в которых произведение кратно 7,
а сумма оканчивается на 5, затем максимальную из сумм элементов таких троек.
В данной задаче под тройкой подразумевается три идущих подряд элемента
последовательности.}
//Не совпадает с ответом
###
assign(input, '17-3.txt');
var a:=readinteger; var b:=readinteger;
var kol:=0; var maxS:=-10000*3;
while not eof() do begin
var c:=readinteger;
var P:=a*b*c; var S:=a+b+c;
if (abs(S mod 10)=5) and (P mod 7=0) then begin
inc(kol);
if S>maxS then maxS:=S;
end;
(a,b):=(b,c);
end;
print(kol, maxS);

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


Администратор




Сообщение: 3038
ссылка на сообщение  Отправлено: 25.11.21 10:52. Заголовок: У вас произведение н..


У вас произведение не помещается в 4-байтовую ячейку.
var P: BigInteger := BigInteger(a)*b*c; 


___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 2
ссылка на сообщение  Отправлено: 25.11.21 20:39. Заголовок: Спасибо!..


Спасибо!

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





Сообщение: 10
ссылка на сообщение  Отправлено: 17.12.21 10:16. Заголовок: Чтобы не вводить тип..


Чтобы не вводить тип BigInteger (задача-то не олимпиадная, чтобы не засчитывать ответ из-за ограниченности типа),
можно поступить так: ((a mod 7 = 0) or (b mod 7 = 0) or (c mod 7 = 0))
Произведение кратно 7, если хотя бы один из множителей кратен 7

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



Сообщение: 1
ссылка на сообщение  Отправлено: 14.04.22 23:28. Заголовок: Всем здравствуйте! П..


Всем здравствуйте! Помогите, пожалуйста, найти ошибку - тоже не сходится ответ в задаче №164.
var n:=5001; 
var f:text;p:int64;
a:array[1..5001] of integer;
begin
assign(f,'17-3.txt');
reset(f);
for var i:=1 to n do
readln(f,a[ i]);
var c:=0; var mxs:=-10000*3;
for var i:=1 to n-2 do
begin
p:=a[ i]*a[ i+1]*a[ i+2];
if (p mod 7 = 0) and (abs(a[ i]+a[ i+1]+a[ i+2]) mod 10 =5) then
begin
c:=c+1; mxs:=max(mxs,a[ i]+a[ i+1]+a[ i+2])
end;
end;
Print(c,mxs);
end.


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




Сообщение: 3470
ссылка на сообщение  Отправлено: 15.04.22 16:44. Заголовок: У вас получается сли..


У вас получается слишком большое произведение, которое не помещается в 4 байта. Вспомните, что произведение делится на 7 тогда и только тогда, когда один из сомножителей делится на 7.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 1 
ПрофильЦитата Ответить



Сообщение: 2
ссылка на сообщение  Отправлено: 15.04.22 23:35. Заголовок: Спасибо большое! В т..


Спасибо огромное! В таком варианте получилось Для массива еще добавила тип a:array[1..5001] of int64; И тогда все получается даже в исходном варианте.

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

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