В приложениях находятся два варианта решений. Постановка задачи позволяет решить ее без использования массивов. Такой код находится во втором приложении.
2^3=8 ---> 3 бита для кодировки одного цвета
Всё изображение занимает объём памяти= 3*х,
где х - размер растрового изображения
Скорость передачи v=3x/30=x/10
после изменения кол-ва цветов их стало (3+y):
v=(3+y)*x/20; v - скорость передачи - величина постоянная
Уравнение:
(3+y)*x/20=x/10
(3+y)/2=1
(3+y)=2
y=-1
цветов стало:
3+у=3-1=2 бита для одного цвета, количество цветов =2^2=4 цвета
Было: 8 цветов
Стало 4 цвета для передачи изображения в Б
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double r, s, c;
cin >> r;
s = M_PI*r*r;
c = 2*M_PI*r;
cout.setf(ios::fixed);
cout.precision(3);
cout << s << "\n" << c << "\n";
return 0;
}
Пример:
5
<span>78.540
31.416</span>