1. При использовании палитры из 2^24 цветов для хранения цвета 1 пикселя используется 24 бита = 3 байта. Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт. X = 8*(K*3/1024 + 128)+2.5*1024 2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта. Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт. X = 20*(K*2/1024 + 128) 8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128) К = 65536 (количество пикселей в рисунке) X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт = 20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт
ответ:Из 4 чисел получается 6 сочетаний по 2 без повторений. Получаем эти суммы и Далее простым сравнением получаем максимальную сумму.
Объяснение:
int _tmain(int argc, _TCHAR* argv[])
{
int a, b, c, d;
int ab, ac, ad, bc, bd, cd;
int tmp;
char* m[6] = { "a + b", "a + c", "a + d", "b + c", "b + d", "c + d" } ;
char *ch;
cout << "Input a b c d " << endl;;
cin >> a >> b >> c >> d;
ab = a + b;
ac = a + c;
ad = a + d;
bc = b + c;
bd = b + d;
cd = c + d;
if (ab > ac)
{
tmp = ab; ch = m[0];
}
else
{
tmp = ac; ch = m[1];
}
if (tmp < ad)
{
tmp = ad; ch = m[2];
}
if (tmp < bc)
{
tmp = bc; ch = m[3];
}
if (tmp < bd)
{
tmp = bd; ch = m[4];
}
if (tmp < cd)
{
tmp = cd; ch = m[5];
}
cout << " max sum = " << ch <<" = " << tmp << endl;
return 0;
}
Пусть количество пикселей в рисунке K, тогда объем памяти, занимаемой одним рисунком = (K*3)/1024 + 128 Кбайт.
X = 8*(K*3/1024 + 128)+2.5*1024
2. При использовании палитры из 2^16 цветов для хранения цвета 1 пикселя используется 16 бита = 2 байта.
Объем памяти, занимаемой одним рисунком = (K*2)/1024 + 128 Кбайт.
X = 20*(K*2/1024 + 128)
8*(K*3/1024 + 128)+2.5*1024 = 20*(K*2/1024 + 128)
К = 65536 (количество пикселей в рисунке)
X = 20*(K*2/1024 + 128) = 20*(65536*2/1024 + 128) Кбайт =
20*(128 + 128) Кбайт = 5120 Кбайт = 5120/1024 Мбайт = 5 Мбайт