Дано неотрицательное число, записанное в виде двоичной дроби: запись содержит только цифры 0 и 1 и, возможно, точку. Запись числа содержит не более 30 символов. Переведите это значение в величину типа double и выведите результат с точностью не менее 12 знаков (инструкция cout.precision(12)).
Ввод | Вывод |
---|---|
11.01 |
3.25 |
100 |
4 |
0.111111 |
0.984375 |
Дано действительное неотрицательное число, не превосходящее 100. Необходимо представить его в виде двоичной дроби с фиксированной точкой и вывести это представление. Ответ должен отличаться от верного не более, чем на 2-32 степени, поэтому необходимо вывести не менее 32 двоичных цифр после точки.
Ввод | Вывод |
---|---|
3.25 |
11.01 |
4 |
100 |
0.1 |
0.00011001100110011001100110011001100110011 |
Дана запись двоичной периодической дроби, которая включает в себя:
Переведите значение этой дроби в величину типа double и выведите результат с точностью не менее 12 знаков. Общая длина входной строки не превосходит 30 символов.
Ввод | Вывод |
---|---|
0.(01) |
0.33333333333333 |
11.01 |
3.25 |
10.0(101) |
2.357142857143 |
Дано рациональное число. Запишите его в виде двоичной периодической дроби.
На вход программа получает два натуральных числа n и m, каждое из которых не превосходит 1000. Программа должна вывести значение n/m, записанное в виде двоичной периодической дроби, при этом длина непериодической дробной части и длина периода должны быть минимально возможными. Если данное число является конечной двоичной дробью, периодическую часть выводить не надо.
Формат вывода двоичной дроби соответствует предыдущей задаче.
Ввод | Вывод |
---|---|
1 3 |
0.(01) |
13 4 |
11.01 |
5 14 |
0.0(101) |
Дана запись двоичной периодической дроби. Необходимо представить ее в виде несократимой рациональной дроби n/m. Программа должна вывести значения n и m.
Ввод | Вывод |
---|---|
0.(01) |
1 3 |
11.01 |
13 4 |
0.0(101) |
5 14 |
Даны три действительных числа: a, b, c. Проверьте, выполняется
ли равенство a+b=c. Если равенство выполняется, выведите YES
, если не выполняется,
выведите NO
.
Числа a, b, c – действительные, положительные, не превосходят 10 и заданы не более, чем с 7 знаками после точки.
Ввод | Вывод |
---|---|
2 3 7 |
NO |
0.1 0.2 0.3 |
YES |
В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 70% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.
На вход программа получает два числа x и y. Числа положительные, действительные, не превосходят 1000, заданы с точностью до шести знаков после запятой.
Программа должна вывести единственное целое число.
Ввод | Вывод |
---|---|
10 30 |
4 |
В первый день спортсмент пробежал x километров, а затем он каждый день увеличивал пробег на 70% от предыдущего значения.
По данному числу y определите номер дня, на который суммарный пробег спортсмена составит не менее y километров.
На вход программа получает два числа x и y. Числа положительные, действительные, не превосходят 1000, заданы с точностью до шести знаков после запятой.
Программа должна вывести единственное целое число.
Ввод | Вывод |
---|---|
10 100 |
4 |
В некоторой сверхсекретной лаборатории изучаются физические возможности животных. Любой живой организм нуждается в трех компонентах пищи –белках, жирах и углеводах. Известен набор продуктов, имеющийся в распоряжении лаборатории и меню животных – сколько единиц каждого продукта они получают. Известно также, сколько белков, жиров и углеводов необходимо для нормальной жизнедеятельности животного. Необходимо определить, получает ли животное достаточное количество питательных веществ.
Известно, что животному требуется в сутки X белков, Y жиров и Z углеводов. Известно также, что всего животное получает в сутки N продуктов питания, и для каждого из них известны Ai, Bi, Ci и Qi – соответственно энергетическая ценность единицы продукта в белках, жирах и углеводах и количество единиц этого продукта. Все числа – действительные, заданные с точностью до 5 знаков после запятой.
На первой строке входных данных записаны числа X, Y и Z. На второй строке записано число N≤25000. Далее на N строках записаны соответственно Ai, Bi, Ci и Qi.
Выведите YES
, если данный пищевой рацион является достаточным по всем параметрам и NO
в противном случае.
Ввод | Вывод |
---|---|
1.0 1.0 1.0 |
YES |
Напомним, что машинным эпсилоном называется такое наименьшее положительное
число \(\varepsilon\), представимое в данном типе, что \(1+\varepsilon\neq1\).
Значение машинного эпсилон зависит от типа данных, используемого для представления действительных чисел.
Например, для типа float
машинное эпсилон равно \(2^{-23}\).
Напишите программу, которая вычисляет машинное эпсилон для типов данных одинарной, двойной и расширенной точности. Решение не должно использовать какие-либо специальные знания о формате хранения действительного числа (например, о размере мантиссы числа.
Входные данные в этой задаче отсутствуют. Программа выводит три действительных числа в формате с плавающей точкой: значения машинного эпсилона для чисел одинарной, двойной и расширенной точности.
Проверка будет осуществляться путем сравнением ответов с правильными с относительной погрешностью 1%.
Вывод в данном примере содержит неверные ответы, верные ответы должны быть другими.
Ввод | Вывод |
---|---|
1.234e-7 |
В каждом из действительных типов есть наименьшее положительное представимое число.
Например, для типа float
это число равно \(2^{-149}\).
Напишите программу, которая вычисляет наименьшее представимое положительное число одинарной, двойной и расширенной точности. Решение не должно использовать какие-либо специальные знания о формате хранения действительного числа (например, о размере мантиссы числа.
Входные данные в этой задаче отсутствуют. Программа выводит три действительных числа в формате с плавающей точкой: ответы для чисел одинарной, двойной и расширенной точности.
В каждом из действительных типов есть такое положительное целое
число \(M\), что все целые положительные числа, не превосходящие \(M\) представимы
в этом типе, а число \(M+1\) уже непредставимо. Например, для типа float
это значение равно 224=16777216, число 16777217 в типе float
непредставимо.
Выведите три таких целых числа для типов данных одинарной, двойной и расширенной точности.
В каждом из действительных типов данных есть наибольшее
положительное число, представимое в этом типе. Например, для типа float
это число равно \(2^{128}-2^{104}\).
Выведите три таких целых числа для типов данных одинарной, двойной и расширенной точности.
Используя только арифметические операции с типом double
получите константы 0, -0, inf, -inf, nan, -nan и выведите их на экран.
Ввод | Вывод |
---|---|
0 |