уже было такое.. иногда пользуйтесь поиском чтоль.
1) полностью наполнить 5 литровый бидон
2)из 5 литровой в 3х литровую переливаем масло( в 5 литровой остаётся 2)
3)3х литровую в общую ёмкость
4) из 5 литровой в 3х литровую переливаем оставшиеся 2 литра из 5 литровой
5) доверху наполняем 5 литровую
6) из 5 литровой доверху наполняем 3х литровую
7) из трёхлитровой переливаем всё в бидон, в 5ти литровой осталось 4
пишем бидоны(их кол-во), затем проделываем вот что:
8 5 3
8 0 0
3 5 0
3 2 3
6 2 0
6 0 2
1 5 2
1 4 3
4 4 0
ну то есть разливали масло по каждому бидону, пока не получится результат
или так
1. из 8 в 3 (там останется 5)
2. из 3 в 5
3. из 8 в 3 (там останется 2)
4. из 3 в 5 долить 2 (остается 1)
5. из 5 в 8 (там стало 7)
6. из 3 в 5
7. из 8 в 3 (там стало 4)
8. из 3 в 5 (там тоже стало 4)
1) на Pascal:
var
t,i,j:integer;
a:array[1..4]of integer;
begin
for i:=1 to 4 do
begin
write('Vvedite ',i,'-i 4islo: ');
readln(a);
end;
for i:=2 to 4 do
for j:=4 downto i do
if a[j-1]>a[j] then
begin
t:=a[j-1];
a[j-1]:=a[j];
a[j]:=t;
end;
writeln('Raspolagaem 4isla v poryadke vozrastaniya:');
for i:=1 to 4 do
writeln(a);
readln;
end.
2) на С:
#include <stdio.h>
#include <conio.h>
void main(void){
int n,a,b,c,d;
printf("\nVvedite 4x-znachnoe chislo n: ");
scanf("%i", &n);
a=n/1000;
b=(n-a*1000)/100;
c=(n-a*1000-b*100)/10;
d=n-a*1000-b*100-c*10;
if (a+b==c+d) printf("true");
else printf("false");
getch();
};