1. Выпишем двоичные числа от 128 до 131:
128₁₀ = 10000000₂
129₁₀ = 10000001₂
130₁₀ = 10000010₂
131₁₀ = 10000011₂
Наибольшим числом с двумя единицами в записи является 130
2. Для начала необходимо узнать вес изображения:
Расчёт делается по двум формулам. V = i × k, где V - вес изображения, i - глубина цвета, k - количество пикселей в изображении. N = 2^i, где N - количество цветов в изображении.
Узнаем глубину цвета: 32 = 2^i, i = 5 бит.
Узнаем количество пикселей в изображении: 800 × 600 = 480000
Узнаем вес изображения: 480000 × 5 = 2400000 бит
Теперь мы можем узнать, сколько секунд потребуется для передачи этого изображения:
2400000 ÷ 32000 = 75 секунд
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
struct river{
string name;
double length;
double depth;
bool ships;
};
signed main(){
int n;
cin >> n;
river a[n];
for(int i = 0; i < n; i++)
cin >> a[i].name >> a[i].length >> a[i].depth >> a[i].ships;
vector<river> ans;
for(auto i: a)
if(i.length > 2 && i.ships)
ans.push_back(i);
for(auto i: ans){
cout << "name: " << i.name << "\n";
cout << "length: " << i.length << "\n";
cout << "depth: " << i.depth << "\n";
cout << "ships?: Yes";
}
}
Поделитесь своими знаниями, ответьте на вопрос:
f(1) = 1
f(2) = 1
f(3) = 1 + f(2) + f(1)
f(n) = 1 + f(n-1) + f(n-2)
Посчитаем на хаскеле f(n) при n=[1,2..20]
--Код haskell
f(1) = 1
f(2) = 1
f(n) = 1 + f(n-1) + f(n-2)
main = print(show [(n, f(n)) | n <- [1,2..20]])
Вывод
(1,1),(2,1),(3,3),(4,5),(5,9),(6,15),(7,25),(8,41),(9,67),(10,109),(11,177),(12,287),(13,465),(14,753),(15,1219),(16,1973),(17,3193),(18,5167),(19,8361),(20,13529)
значит при f(18) = 5167 - т0 что надо
ответ 18