Консультация № 159043
28.01.2009, 21:13
0.00 руб.
0 1 1
1. Дани целые числа а1,...,а25, в1,...,в25. Преобразовать последовательность в1,...,в25 по правилу: если а1<=0, то в і-те увеличить в 10 раз, иначе в1 заменить на 0 (і=1,...,25).
2. Даны целые числа m,а1,...,а20. Найти 3 натуральных числа i, j, k, каждое из которых не превосходит 20, такие, что аi+aj+ak=m. Если таких чисел нет, то сообщать об этом.
3. Дано натуральное число n. Выяснить сколько положительных елементов имеет матрица [aij] i, j=1,...,n, aij= sin(i+j\2).

Обсуждение

Неизвестный
29.01.2009, 22:48
общий
это ответ
Здравствуйте, Alexeev Olexander!
Решение простое, в лоб.
В задаче 2 случай когда i,j,k различны

Приложение:
1
var
a,b:array[1..25] of integer;
i:integer;
begin
For i:=1 to 25 do
Read(a[i]);
For i:=1 to 25 do
Read(b[i]);
For i:=1 to 25 do
if a[i]<=0 then b[i]:=b[i]*10 else b[i]:=0;
For i:=1 to 25 do
Write(b[i],' ');
end.


2
Var
a:array[1..20] of integer;
m,i,j,k:integer;
begin
Read(m);
For i:=1 to 20 do //считываем
Read(a[i]);
for i:=1 to 18 do
For j:=i+1 to 19 do
For k:=j+1 to 20 do
If a[i]+a[j]+a[k]=m then begin
Write(i,' ',j' ',k); //если найдены, то выводим и выходим
Exit;
end;
Write('not found');
end.

3
var
n,i,j,t:integer;
begin
Read(n);
t:=0; //количество положительных
For i:=1 to n do
For j:=1 to n do
if sin((i+j)/2)>=0 then t:=t+1; //если положит, то увел. количество
Write(t);
end.
Форма ответа