Запишите на языке Паскаль: переменной a будет присвоено значение переменной c, переменной b – значение c разделить на 2 и прибавить 1, а переменной c – значение переменной
#генерируем список из 2000 элементов my_list = [(lambda x:(x*296+2410)%4096)(i) for i in range(2000)]
# начальное значение для временного минимума min1_value = min2_value = 10000 min1_number = min2_number = 0
while my_list: x = my_list.pop() if x < min1_value: min2_value = min1_value min2_number = min1_number min1_value = x min1_number = 1 elif x == min1_value: min1_number += 1 elif x < min2_value: min2_value = x min2_number = 1 elif x == min2_value: min2_number += 1
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
cin >> n;
vector <int> v(n);
for(int i = 0; i < n; i++) {
cin >> v[i];
}
int a, b, c, d; //1, 2 макс.; 1, 2 мин.
a = c = v[0];
b = d = v[1];
if(a > b) swap(a, b);
if(c > d) swap(c, d);
for(int i = 2; i < n; i++) {
if(v[i] > a) {
if(a > b) b = a;
a = v[i];
} else if(v[i] > b) {
b = v[i];
}
if(v[i] < c) {
d = c;
c = v[i];
} else if(v[i] < d) {
d = v[i];
}
}
if(a > b) swap(a, b);
if(c > d) swap(c, d);
if(a * b > c * d) cout << a << " " << b;
else cout << c << " " << d;
}
Объяснение:
Как то так
my_list = [(lambda x:(x*296+2410)%4096)(i) for i in range(2000)]
# начальное значение для временного минимума
min1_value = min2_value = 10000
min1_number = min2_number = 0
while my_list:
x = my_list.pop()
if x < min1_value:
min2_value = min1_value
min2_number = min1_number
min1_value = x
min1_number = 1
elif x == min1_value:
min1_number += 1
elif x < min2_value:
min2_value = x
min2_number = 1
elif x == min2_value:
min2_number += 1
print(min2_number)