#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
int a[16];
int i=0,c;
for(i; i<16; i++){
a[i]=rand()%40+10;
cout<<a[i]<<' ';
}
i=0;
for(i; i<4; i++){
c=a[i];
a[i]=a[7-i];
a[7-i]=c;
}
for(i=8; i<12; i++){
c=a[i];
a[i]=a[23-i];
a[23-i]=c;
}
cout<<endl;
for (i=0; i<16; i++){
cout<<a[i]<<' ';
}
return 0;
}
Вроде правильно, проверь. Вопросы, недочеты в ЛС
Дан объём графического файла V=100 Кбайт = 10² * 2¹³ бит
количество пикселей в изображении 320*640 = 10 * 2⁵ * 10 * 2⁶ = 10² * 2¹¹ (пикселей)
1) у нас есть объём файла и количество пикселей
найдём, сколько бит приходится на 1 пиксель
для этого объём делим на количество пикселей
(10² * 2¹³)/(10² * 2¹¹) десять в квадрате сокращаются,
остаётся 2¹³/2¹¹
по свойству степеней 2¹³⁻¹¹ = 2² = 4 бит (вес 1го пикселя)
кол-во цветов - I
вес пикселя = 2 в степени I
2 в степени I = 4
I = 2
2 цвета в палитре
2) Если увеличить кол-во цветов в палитре в 4 раза, то объём файла это произведение кол-ва пикселей на их вес
вес пикселя от изменения количества цветов увеличится так 2 в степени (4*2), то есть 2⁸ = 256 (бит для одного пикселя)
следовательно объем = 256*320*640
найдём его в кбайтах (256*320*640)/8*1024 = 6400 кбайт
Объем изменится в 64 раза
Var
a:array[1..1000]of integer;
i,n,k,c,q:integer;
begin
readln(n);
for i:=1 to n do
begin
readln(a[i]);
if (a[i] mod 10 = 4) then
begin
k:=a[i];
c:=0;
while k>0 do
begin
c:=c + k mod 10;
k:= k div 10;
end;
if c mod 3 = 0 then
q:=q+1;
end;
end;
writeln(q);
end.
1) 165 = 19.2; 163 = 25
2) 167 = 15