Для начала отметим, что переправа не состоится только в одном случае : если число разбойников будет превышать число купцов на берегу. Итак, пусть берег, на котором стоят три купца и три разбойника , будет называться первым, а берег на который нужно перебраться - вторым. Попробуем вместить в двухместную лодку двух купцов, тогда на первом берегу останется 1 купец и 3 забойника, по условию это недопустимо, идем дальше: в лодку садятся один купец и один разбойник, на берегу остаются два купца и два разбойника, этот расклад нам подходит с него и начнем. 1 рейс- в лодку садятся 1 купец и 1 разбойник и переправляются на второй берег, на нем оставим купца(1 разбойник всегда будет находиться в лодке и переправлять остальных) На первом берегу 2 купца, 2 разбойника(2к;2р) 2 рейс - возвращение к первому берегу 3 рейс- в лодку садится 1 разбойник, т. к. если сядет 1 купец то разбойников на первом берегу будет больше, переправа на второй берег (2к;1р) 4 рейс - возвращение 5 рейс - в лодку садится 1 купец, (1к;1р), переправа 6 рейс - возвращение 7 рейс -в лодку садится 1 разбойник (1к;0 р), переправа 8 рейс - возвращение 9 рейс - в лодку садится 1 купец (0к;0р), переправа 1 купца и 1 разбойника ответ:Переправа состоялась за 9 рейсов, пострадавших не обнаружено.
Написали бы язык программирования. Вот на java. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;
public class znanie { public static void main(String[] args) throws IOException { BufferedReader reader=new BufferedReader(new InputStreamReader(System.in)); long A=Long.parseLong(reader.readLine()); long B=Long.parseLong(reader.readLine()); if((A<0)||(B<0)){ System.exit(0); } long sum=0; for (long i = A; i <= B; i++) { if((i%5==0)||(i%13==0)){ sum=sum+i; } } System.out.println(sum); } }
Для начала отметим, что переправа не состоится только в одном случае : если число разбойников будет превышать число купцов на берегу.
Итак, пусть берег, на котором стоят три купца и три разбойника , будет называться первым, а берег на который нужно перебраться - вторым. Попробуем вместить в двухместную лодку двух купцов, тогда на первом берегу останется 1 купец и 3 забойника, по условию это недопустимо, идем дальше: в лодку садятся один купец и один разбойник, на берегу остаются два купца и два разбойника, этот расклад нам подходит с него и начнем.
1 рейс- в лодку садятся 1 купец и 1 разбойник и переправляются на второй берег, на нем оставим купца(1 разбойник всегда будет находиться в лодке и переправлять остальных) На первом берегу 2 купца, 2 разбойника(2к;2р)
2 рейс - возвращение к первому берегу
3 рейс- в лодку садится 1 разбойник, т. к. если сядет 1 купец то разбойников на первом берегу будет больше, переправа на второй берег (2к;1р)
4 рейс - возвращение
5 рейс - в лодку садится 1 купец, (1к;1р), переправа
6 рейс - возвращение
7 рейс -в лодку садится 1 разбойник (1к;0 р), переправа
8 рейс - возвращение
9 рейс - в лодку садится 1 купец (0к;0р), переправа 1 купца и 1 разбойника
ответ:Переправа состоялась за 9 рейсов, пострадавших не обнаружено.
как то так)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class znanie {
public static void main(String[] args) throws IOException {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
long A=Long.parseLong(reader.readLine());
long B=Long.parseLong(reader.readLine());
if((A<0)||(B<0)){
System.exit(0);
}
long sum=0;
for (long i = A; i <= B; i++) {
if((i%5==0)||(i%13==0)){
sum=sum+i;
}
}
System.out.println(sum);
}
}