Автор: fonaruk 21.1.2012, 8:39
1)В клуб приходят m мальчиков и n девочек. Мальчик активен только тогда когда рядом с ним с обих сторон сидят девочки,а девочка активна только тогда когда с рядом с ней сидит мальчик, а с другой стороны девочка. Надо написать программу, которая по заданным числам m n выведет такой способ размещения, при котором макс кол-во человек будет активно. Выходной файл должен содержать строку с расположенными m символами В и n символами G. Входной файл 1 2 выходной BGG.
2)В вольере находятся цапли. Петя пересчитал их ноги и у него получилось число а. У маши через некоторое время получилось число b. Все изза того что цапли умеют стоять на одной ноге. Написать прогу которая выведет макс и мин кол-во цапель.
Помогите пожалуйста, друг попросил помочь, а я в этом не разбираюсь.
Автор: -Владимир- 30.1.2012, 19:30
Цитата(fonaruk @ 21.1.2012, 8:39)

1)В клуб приходят m мальчиков и n девочек. Мальчик активен только тогда когда рядом с ним с обих сторон сидят девочки,а девочка активна только тогда когда с рядом с ней сидит мальчик, а с другой стороны девочка. Надо написать программу, которая по заданным числам m n выведет такой способ размещения, при котором макс кол-во человек будет активно. Выходной файл должен содержать строку с расположенными m символами В и n символами G. Входной файл 1 2 выходной BGG.
2)В вольере находятся цапли. Петя пересчитал их ноги и у него получилось число а. У маши через некоторое время получилось число b. Все изза того что цапли умеют стоять на одной ноге. Написать прогу которая выведет макс и мин кол-во цапель.
Помогите пожалуйста, друг попросил помочь, а я в этом не разбираюсь.
Доброго вечера!
С первой задачей не понял что именно ты хочешь. А для второй набросал кодик:
Код
Program Heron;
var
a,b:integer;
min,max:real;
l:boolean;
begin
writeln('Сколько ног цапель увидел Петя? ');
readln(a);
writeln('Сколько ног цапель увидела Маша? ');
readln(b);
if a=b then
begin
l:=odd(a);
if l=true then
begin
min:=a/2;
max:=a
end
else
max:=a;
min:=(a-1)/2+1;
end
else
if a>b then
begin
l:=odd(b);
max:=a;
if l=false then
min:=b/2
else
min:=(b-1)/2+1;
end
else
begin
l:=odd(a);
max:=b;
if l=false then
min:=a/2
else
min:=(a-1)/2+1;
end;
writeln('Максимально возможно число цапель ',max);
writeln('Минимально возможное число цапель ',min);
end.
Успехов в учебе!
Автор: fonaruk 30.1.2012, 19:33
Цитата(-Владимир- @ 30.1.2012, 22:30)

Доброго вечера!
С первой задачей не понял что именно ты хочешь. А для второй набросал кодик:
Код
Program Heron;
var
a,b:integer;
min,max:real;
l:boolean;
begin
writeln('Сколько ног цапель увидел Петя? ');
readln(a);
writeln('Сколько ног цапель увидела Маша? ');
readln(b);
if a=b then
begin
l:=odd(a);
if l=true then
begin
min:=a/2;
max:=a
end
else
max:=a;
min:=(a-1)/2+1;
end
else
if a>b then
begin
l:=odd(b);
max:=a;
if l=false then
min:=b/2
else
min:=(b-1)/2+1;
end
else
begin
l:=odd(a);
max:=b;
if l=false then
min:=a/2
else
min:=(a-1)/2+1;
end;
writeln('Максимально возможно число цапель ',max);
writeln('Минимально возможное число цапель ',min);
end.
Успехов в учебе!

Спасибо большое. Надо было, наверное, удалить тему. Это была региональная олимпиада по информатике. Друг попросил, хотя я уверял его не идти, т.к. сам я больше него понимаю, но идти или помогать было лень. Таки он не прошел.
P.S. Можно тут как-то рейтинг повысить или на "Спасибо" нажать?)
Автор: tig81 30.1.2012, 19:48
Цитата(fonaruk @ 30.1.2012, 21:33)

P.S. Можно тут как-то рейтинг повысить или на "Спасибо" нажать?)
Нет, такая функция на данном форуме не предусмотрена, можно просто сказать "спасибо"