Объяснение:
Выполнение команд в линейном алгоритме идет линейно, то есть друг за другом в заданном порядке и однократно.
Пример линейного алгоритма:
Начало
Сделать уроки
Пойти гулять
Вернуться домой
Поесть ужин
Посмотреть телевизор
Лечь спать
Конец
В данном случае это план того, что я буду делать после того, как вернусь из школы и пообедаю.
Пример линейного алгоритма для ГРИС «Стрелочка»:
НАЧАЛО
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ШАГ
ШАГ
ШАГ
ПОВОРОТ
ПОВОРОТ
ПРЫЖОК
ПРЫЖОК
ПРЫЖОК
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ШАГ
ШАГ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ШАГ
ШАГ
ШАГ
КОНЕЦ
16 символов
Объяснение:
I = К * i, где
I - информационный объём сообщения (документа)
К - количество символов в сообщении (документе)
i - информационный вес символа (количество бит, которым кодируется 1 символ)
N = 2^i, где
N - мощность алфавита (количество символов в алфавите)
i - информационный вес символа (количество бит или байт, которым кодируется 1 символ)
Дано:
K = 10 страниц * 305 символов = 3050 символов
I = 1 525 байт = 12 200 бит
Найти:
N
I = К * i
i = I / K
i = 12 200 / 3050 = 4 бит
N = 2^4 = 16 символов
1 байт = 8 бит
Язык: Java
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int n = input.nextInt();
ArrayList<PointHolder> data = new ArrayList<>();
System.out.println("Init for "+n);
for(int i =0;i<n;i++){
input = new Scanner(System.in);
String inp = input.nextLine();
System.out.println("Got: "+inp);
data.add(new PointHolder(new BigInteger(inp.split(" ")[0]),
new BigInteger(inp.split(" ")[1]),
new BigInteger(inp.split(" ")[2])));
}
for(PointHolder holder:data){
if(canExists(holder)){
System.out.println("Может существовать равнобедренный треугольник со сторонами: "+holder.one + " "+holder.two+" "+holder.three);
}
}
}
public static boolean canExists(PointHolder holder){
if(holder.one.equals(holder.two) || holder.one.equals(holder.three) || holder.two.equals(holder.three)){
long o = holder.one.longValue();
long t = holder.two.longValue();
long th = holder.three.longValue();
return (o<t+th) && (t < o+th) && (th < o+t);
}else{
return false;
}
}
}
class PointHolder{
BigInteger one;
BigInteger two;
BigInteger three;
PointHolder(BigInteger o,BigInteger t,BigInteger th){
one=o;
two=t;
three=th;
}
}