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

Теория струн оперирует такими маленькими размерами (порядка планковской длины) и такими огромными энергиями (недостижимыми с современным уровнем технологий), что экспериментально проверить хоть какие-нибудь ее предсказания очень трудно. Одним из немногих является эффект Казимира, который обещает, что две параллельные поверхности, находящиеся в вакууме, будут притягиваться из-за квантовых свойств вакуума, если находятся достаточно близко друг от друга. Это происходит потому, что в ограниченном пространстве могут рождаться не любые виртуальные частицы, а только те, длина волны которых целое число раз укладывается на расстояние между пластинами. А раз не все частицы могут появляться, то и давление, которое они создают, меньше, чем снаружи, где такого ограничения нет. Вот пластины и притягиваются. (Эффект реально обнаружен и экспериментально подтвержден.) Напишите программу, которая обрабатывает экспериментальные данные (энергии виртуальных частиц).

Проводится N экспериментов. Для каждого из них будет вводиться значение достигнутой энергии. По величине этой энергии можно определить длину волны частицы, которая могла появиться в этом эксперименте по формуле: λ = hc/E = 12431.25/E (Ангстрем)

Однако, если энергия больше 5000 эВ, то эксперимент становится опасным, его нужно прекратить (опять немного погрешим против физики, на самом деле, опасная энергия значительно больше!).

Нужно определить, сколько раз в каждом из них наблюдался эффект Казимира, то есть длина волны каждой полученной частицы целое число раз укладывалась на расстоянии d между пластинами.

Будем считать, что условие выполняется, если число волн отличается от целого числа не более, чем на 0.1 из-за погрешностей.

Формат ввода
Целое число d — расстояние между поверхностями в Ангстремах (10-10 м).

Целое число N — количество циклов экспериментов, каждый цикл проводится до появления строки КОНЕЦ ЭКСПЕРИМЕНТА, если раньше не встретится опасное значение энергии. В этом случае данный цикл прекращается.

Затем вводятся целые числа — сами результаты экспериментов — значения энергии виртуальных частиц в в электрон-Вольтах (эВ).

Формат вывода
Для каждого цикла экспериментов выводится номер цикла (с 1) и целое число — сколько раз наблюдался эффект Казимира.

После окончания последнего цикла экспериментов вывести строку в формате: Общее количество успешных экспериментов: {количество}

Успешными считаются эксперименты, в которых эффект был обнаружен.

Показать ответ
Ответ:
newyorker2000
newyorker2000
18.05.2020 22:11

1011010

Объяснение:

Алгоритм перевода в двоичную систему:

1)

Переводим модуль числа в двоичную систему

Выполнить деление исходного числа на 2. Если результат деления больше или равен 2, продолжать делить его на 2 до тех пор, пока результат деления не станет равен 1

2). Выписать результат последнего деления и все остатки от деления в обратном порядке в одну строку.

3) выполняем инверсию всех битов

4) к результату добавляем 1

Получается:

1) делим -89 на 2 = 44, остаток 1 -  пишем -1, т. к. остаток 1

2) 44/2=22, без остатка, пишем 0

3) 22/2=11, без остатка, пишем 0

4) 11/2=5, остаток 1, пишем 1

5) 5/2=2, остаток 1, пишем 1

6) 2/2=1, без остатка, пишем 0

7) 1/2=0, остаток 1, пишем 1

Записываем в обратном порядке полученные 7 цифр 1011001

3) 0100110

4) 0100110

+               1

получаем 1011010

0,0(0 оценок)
Ответ:
Русалина21
Русалина21
24.05.2022 18:05
#include <iostream>

int _tmain(int argc, _TCHAR* argv[]) {
  const int SIZE = 25, p_lower_than = 10, mod_k = 12;
  int A[SIZE], p_sum = 0;
  for (size_t i = 0; i <= SIZE; i++) {
cin >> A[i];
    if (A[i] % mod_k == 0) {
      std::cout << "Элемент, кратный " << mod_k << ": "
                << A[i] << " (индекс " << i << ")\n";
    }
    if (A[i] < p_lower_than || A[i] > 0) {
      p_sum += A[i];
    }
  }
  std::cout << "Сумма элементов в промежутке (0; "
            << p_lower_than << "): " << p_sum << '\n';
  return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота