✎ Задать свой вопрос   *более 30 000 пользователей получили ответ на «Решим всё»

Задача 896 По каналу связи передаётся

УСЛОВИЕ:

По каналу связи передаётся последовательность положительных целых
чисел, все числа не превышают 1000. Количество чисел известно, но может
быть очень велико. Затем передаётся контрольное значение
последовательности – наибольшее число R, удовлетворяющее следующим
условиям:
3) R – произведение двух различных переданных элементов
последовательности («различные» означает, что не рассматриваются
квадраты переданных чисел; допускаются произведения различных
элементов последовательности, равных по величине);
4) R делится на 21.
Если такого числа R нет, то контрольное значение полагается равным 0.
В результате помех при передаче как сами числа, так и контрольное значение
могут быть искажены.
Напишите эффективную, в том числе по используемой памяти, программу
(укажите используемую версию языка программирования, например, Borland
Pascal 7.0), которая будет проверять правильность контрольного значения.
Программа должна напечатать отчёт по следующей форме:
Вычисленное контрольное значение: …
Контроль пройден (или – Контроль не пройден)
Перед текстом программы кратко опишите используемый Вами алгоритм
решения.
На вход программе в первой строке подаётся количество чисел N. В каждой
из последующих N строк записано одно натуральное число, не превышающее
1000. В последней строке записано контрольное значение.
Пример входных данных:
6
70
21
997
7
9
300
21000
Пример выходных данных для приведённого выше примера входных данных:
Вычисленное контрольное значение: 21000
Контроль пройден

РЕШЕНИЕ:

var M7,M3,M21,R,MAX,dat,res,i,N: longint;
begin
M7 := 0;
M3 := 0;
M21 := 0;
MAX := 0;
readln(N);
for i := 1 to N do
begin
readln(dat);
if ((dat mod 7) = 0) and ((dat mod 3) > 0) and (dat > M7) then
M7 := dat;
if ((dat mod 3) = 0) and ((dat mod 7) > 0) and (dat > M3) then
M3 := dat;
if (dat mod 21 = 0) and (dat > M21) then
begin
if M21 > MAX then MAX := M21;
M21 := dat
end
else
if dat > MAX then
MAX := dat;
end;
readln(R);
if (M7*M3 < M21*MAX) then
res := M21*MAX
else
res := M7*M3;
writeln('Вычисленное контрольное значение: ',res);
if R = res then writeln('Контроль пройден')
else writeln('Контроль не пройден');
end.

Вопрос к решению?
Нашли ошибку?

ОТВЕТ:

в решение

Добавил slava191, просмотры: ☺ 4994 ⌚ 10.04.2014. информатика 10-11 класс

Решения пользователелей

Хочешь предложить свое решение? Войди и сделай это!
Увы, но свой вариант решения никто не написал... Будь первым!

Написать комментарий

Последние решения
1.
20%=20/100=0,2
15*0,2=3 рубля составляет повышение
15+3=18 рублей стоит билет
100:18=6 билетов можно купить

3.
S( Δ)=(1/2)a*h=(1/2)*3*8=12

4
5^(x+3)=5^3
x+3=3
x=0

5.
V=S_(осн)*Н= (1/2)*a*b*H=(1/2)*3*6*10=90

8.
C=2*1+ln4^3-ln64=2+ln(64/64)=2+ln(1)=2+0= [b]2[/b]
[удалить]
✎ к задаче 38238
(x^2/a^2)+(y^2/b^2)=1 - каноническое уравнение эллипса.

Делим данное уравнение на 9
(x^2/9)+(y^2/3)=1

a^2=9
[b]a=3[/b] - большая полуось

b^2=3
[b]b=sqrt(3)-[/b] малая полуось

b^2=a^2-c^2 ⇒ c^2=a^2-b^2=9-3=6

c=sqrt(6)

[b]F_(1)(-sqrt(6);0) ; F_(2)(sqrt(6);0)[/b]- фокусы

(прикреплено изображение) [удалить]
✎ к задаче 38245
S_(правильного треугольника)=a^2sqrt(3)/4
a^2sqrt(3)/4=sqrt(3)
a^2/4=1
a^2=4
a=2 - сторона основания

V=(1/3)*S_(осн)*Н

1/sqrt(3)=(1/3)*sqrt(3)*H

H=1

b=sqrt(H^2+R^2)

R=asqrt(3)/3=2sqrt(3)/3

b=sqrt(1+(2sqrt(3)/3)^2)=sqrt(1+(4/3))=sqrt(7/3)=sqrt(21)/3

О т в е т. sqrt(21)/3
(прикреплено изображение) [удалить]
✎ к задаче 38246
( sin^2(a)-cos^2(a)+cos^4(a)/(cos^2(a)-sin^2(a)+sin^4(a))=
=(cos^4(a)-cos2a)/(sin^4(a)+cos2a)=(cos^4(a)-2cos^2(a)+1)/(sin^4(a)-2sin^2(a)+1)=((1-cos^2(a))^2/((1-sin^2(a))^2=(sin^2(a))^2/(cos^2(a))^2=tq^4(a).
Ответ: tq^4(a).
[удалить]
✎ к задаче 38239
(прикреплено изображение) [удалить]
✎ к задаче 38244