В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
demonsmurnov75
demonsmurnov75
19.05.2020 09:43 •  Информатика

Вводится 2 числа, вывести их сумму. var a,?: integer;
begin
оператор ввода(a);
оператор ввода(?);
оператор вывода(???);
end.

Показать ответ
Ответ:
Дерижабль
Дерижабль
24.05.2022 21:55

я просто ищу все простые числа в диапазоне от 1 до n с решето эратосфена, а далее просто сравниваю вектор с простыми числами.

мой пример решения:

#include

#include

using namespace std;

int main()

{

    int n;

    cin > > n;

    vector prime (n+1, true);

    prime[0] = prime[1] = false;

    for (int i=2; i*i< =n; ++i)

        if (prime[i])

            for (int j=2; j< =n/i; j++)

                if (prime[i*j]) prime[i*j] = false;

    for(int i = 0; i < prime.size(); ++i)

    {

        for(int j = i; j < prime.size(); ++j)

        {

            if(prime[i]& & prime[j])

                if(i+j==n)

                    cout < < i < < " " < < j < < endl;

        }

    }

    cin.get();

    cin.get();

}

0,0(0 оценок)
Ответ:
поварешка1
поварешка1
13.03.2020 03:49
1. Задача решается с стека (алгоритм Дейкстры для обработки обратной польской записи). Предполагается, что во вводимой строке содержится корректное выражение, удовлетворяющее условиям задания.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var w:=ReadlnString.ToWords;
  var St:=new Stack <integer>;
  var r:=0;
  foreach var t in w do
    if t[1].IsDigit then St.Push(t.ToInteger)
    else begin
      var a:=St.Pop;
      var b:=St.Pop;
      case t[1] of
      '+':St.Push(a+b);
      '-':St.Push(b-a);
      '*':St.Push(a*b)
      end;
    end;
  Writeln(St.Pop) 
end.

Контрольный пример
8 9 + 1 7 - *
-102

2. Задача крайне просто решается при регулярного выражения с рекурсией. Фактически вводить количество шаров не нужно, поэтому после ввода оно отбрасывается.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln(ReadlnString.ToWords.Skip(1).JoinIntoString('').
      MatchValue('(.)\1{2,}').Length);
end.

Контрольный пример
5 2 3 3 3 1
3
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота