Лягушонок Пепе путешествует по виртуальному замку и собирает биткоины. Схема виртуального замка и количество биткоинов каждой комнате на схеме : От каждой комнаты, кроме крайних существуют только два пути: налево (L) и направо (R), двигаться обратно через двери запрещено. Лягушонок начинает свой путь в самой верхней комнате, обозначенной словом start, а заканчивает — в комнате, обозначенной словом finish. Во всех комнатах, кроме начальной и конечной, лежат биткоины. Путешествуя по комнатам, лягушонок забирает себе все биткоины из каждой комнаты, которую посещает. Количество биткоинов указано на рисунке выше.
Вам нужно определить и записать в первой строке ответа максимальное количество биткоинов, которые может собрать лягушонок Пепе. Во второй строке необходимо записать маршрут, на котором он соберет эту сумму. Маршрут состоит из букв L и R, записанных без разделителей.
Например, если лягушонок сначала каждый раз будет входить в правую дверь (пока это возможно), а потом каждый раз будет входить в левую дверь, то ответом будет:
var s: string; i, j, n: integer; c: char; flag: boolean;
begin Write('Введите произвольное число: '); Readln(s); flag := false; n := length(s); i := 1; while (i <= n) and (not flag) do begin c := s[i]; j := i + 1; while (j <= n) and (not flag) do if s[j] = c then flag := true else j := j + 1; if (not flag) then i := i + 1 end; if flag then Writeln('Символ "', c, '" встречается больше одного раза') else Writeln('Все символы уникальны') end.
Тестовое решение: Введите произвольное число: -1453.5462 Символ "4" встречается больше одного раза
Код не работает из-за того, что вы в аргумент подпрограммы main вызываете String аргумент.
Ваша программа должна получить доступ к этому аргументу из этого массива, а не строки.
Проще говоря, добавьте [] после String:
public static void main(String[] args)
Допишем программу, чтобы она работала корректно:
(Добавим остальные действия (- * /))
import java.util.Scanner;
public class manager {
public static void main(String[] args) {
char operator;
Double number1, number2, result;
Scanner input = new Scanner(System.in);
System.out.print("Choose an operator: +, -, *, or /");
operator = input.next().charAt(0);
// ask users to enter numbers
System.out.print("Enter first number");
number1 = input.nextDouble();
System.out.println("Enter second number");
number2 = input.nextDouble();
switch (operator) {
// performs addition between numbers
case '+':
result = number1 + number2;
System.out.println(number1 + " + " + number2 + " = " + result);
break;
// performs subtraction between numbers
case '-':
result = number1 - number2;
System.out.println(number1 + " - " + number2 + " = " + result);
break;
case '*':
result = number1 * number2;
System.out.println(number1 + " * " + number2 + " = " + result);
break;
case '/':
result = number1 / number2;
System.out.println(number1 + " / " + number2 + " = " + result);
break;
}
}
}
s: string;
i, j, n: integer;
c: char;
flag: boolean;
begin
Write('Введите произвольное число: '); Readln(s);
flag := false;
n := length(s);
i := 1;
while (i <= n) and (not flag) do
begin
c := s[i];
j := i + 1;
while (j <= n) and (not flag) do
if s[j] = c then flag := true else j := j + 1;
if (not flag) then i := i + 1
end;
if flag then Writeln('Символ "', c, '" встречается больше одного раза')
else Writeln('Все символы уникальны')
end.
Тестовое решение:
Введите произвольное число: -1453.5462
Символ "4" встречается больше одного раза