Нужно переделать из паскаля в С++ var f: text; s: string; i, lect, pract, lab: byte; begin assign(f,'lessons.txt'); reset(f); lect := 0; pract := 0; lab := 0; while not Eof(f) do begin readln(f,s); i := pos('лекц.',s); if i <> 0 then lect := lect + 1 else begin i := pos('практ.',s); if i <> 0 then pract := pract + 1 else begin i := pos('лаб.',s); if i <> 0 then lab := lab + 1 end; end; end; close(f); writeln('Лекций: ', lect); writeln('Практических: ', pract); writeln('Лабораторных: ', lab); end.
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза.
Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления.
Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков.
Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2.
Остаётся число 6. Проверим
49/6=8 |1
8/6 = 1 |2
1/6=0 |1
121(6)
import java.util.Scanner;
public class Authenticator {
public static void main(String[] args) {
String login;
String password;
Scanner scan = new Scanner(System.in);
System.out.println("login:");
login = scan.next();
System.out.println("password:");
password = scan.next();
if(login.equals("user") && password.equals("qwerty")){
System.out.println("Authentication completed");
}else{
System.out.println("Invalid login or password");
}
scan.close();
}
}
Объяснение:
Краткий алгоритм этой программы:Импортируем класс Scanner(для ввода текста);В методе main создаем две переменные типа String и одну типа Scanner;Вводим значения при а;Если логин и пароль верны,то выводим Authentication completed. Иначе выводим Invalid login or password;Закрываем Scanner;