Данное выражение не является верным в некоторых языках программирования потому, что 0.1 + 0.2 не совсем является 0.3 из-за неточности. Неточность очень мала, но все же не позволяет приравнять эти числа.
Например, C++ при коде
#include <iostream>
#include <iomanip>
int main()
{
std::cout << std::setprecision(20) << 0.1 + 0.2;
}
По идее, должен вывести 0.30000...00, но, увы, это не случилось.
Вывод: 0.30000000000000004441
Вообще, я не являюсь специалистом в этой области, поэтому могу посоветовать почитать более специализированные статьи экспертов в данной области, чтобы самим убедиться во всем. Но доля правды в моих словах есть.
1. 50 Пбайт = 50 * 1024 (51200) Тбайт = 51200 * 1024 ^ 4 = примерно 5e+16 (5 и 16 циферок)
2. Если один символ = 1 байт (по ANSI), то 18 байт (тут учитывается пробел, это тоже символ!), у юникода немного другой размер.
3. 11 348 456 / (1024 ^ 3) = 0.0106 Гбайт.
4. 8.5(Гбайт) * (1024 ^ 3 (это байты в одном Гбайте)) / (90 * 70) = 9126805504 / 6300 = 1448699 станиц.
5. 34 * 22 * 12 = 8976 байт = примерно 8.77 Мбайт (опять же, если для ASCII, когда 1 символ = 1 байт)
6. 1024 байт = 1 Мбайт, тогда можно записать 750 / 1 = 750 файлов :)
#include <iostream>
using namespace std;
int main()
{
double m1, m2, m3, a, b;
cin >> m1 >> m2 >> m3 >> a >> b;
double k1 = (m1 * m2) / m3 + m1 / (m2 * m3) + a / b;
double k2 = (m1 * m2) + (m2 * m3) + (m3 * m1) + 21;
double k3 = double(49) / 50 + (3 * m1 / 50) + (11 * m2 / 50) + (21 * m3 / 50);
freopen("f22_1.txt", "w", stdout);
cout << k1 << ' ' << k2 << ' ' << k3 << endl;
return 0;
}
Объяснение:
а что тут, собственно, объяснять? пиши, отвечу