Теория струн оперирует такими маленькими размерами (порядка планковской длины) и такими огромными энергиями (недостижимыми с современным уровнем технологий), что экспериментально проверить хоть какие-нибудь ее предсказания очень трудно. Одним из немногих является эффект Казимира, который обещает, что две параллельные поверхности, находящиеся в вакууме, будут притягиваться из-за квантовых свойств вакуума, если находятся достаточно близко друг от друга. Это происходит потому, что в ограниченном пространстве могут рождаться не любые виртуальные частицы, а только те, длина волны которых целое число раз укладывается на расстояние между пластинами. А раз не все частицы могут появляться, то и давление, которое они создают, меньше, чем снаружи, где такого ограничения нет. Вот пластины и притягиваются. (Эффект реально обнаружен и экспериментально подтвержден.) Напишите программу, которая обрабатывает экспериментальные данные (энергии виртуальных частиц).
Проводится N экспериментов. Для каждого из них будет вводиться значение достигнутой энергии. По величине этой энергии можно определить длину волны частицы, которая могла появиться в этом эксперименте по формуле: λ = hc/E = 12431.25/E (Ангстрем)
Однако, если энергия больше 5000 эВ, то эксперимент становится опасным, его нужно прекратить (опять немного погрешим против физики, на самом деле, опасная энергия значительно больше!).
Нужно определить, сколько раз в каждом из них наблюдался эффект Казимира, то есть длина волны каждой полученной частицы целое число раз укладывалась на расстоянии d между пластинами.
Будем считать, что условие выполняется, если число волн отличается от целого числа не более, чем на 0.1 из-за погрешностей.
Формат ввода
Целое число d — расстояние между поверхностями в Ангстремах (10-10 м).
Целое число N — количество циклов экспериментов, каждый цикл проводится до появления строки КОНЕЦ ЭКСПЕРИМЕНТА, если раньше не встретится опасное значение энергии. В этом случае данный цикл прекращается.
Затем вводятся целые числа — сами результаты экспериментов — значения энергии виртуальных частиц в в электрон-Вольтах (эВ).
Формат вывода
Для каждого цикла экспериментов выводится номер цикла (с 1) и целое число — сколько раз наблюдался эффект Казимира.
После окончания последнего цикла экспериментов вывести строку в формате: Общее количество успешных экспериментов: {количество}
Успешными считаются эксперименты, в которых эффект был обнаружен.
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
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;
}