PascalABC
Объяснение:
1)
begin
WriteLn('Введите размер массива N: ');
var n := ReadInteger;;
var a := ArrRandomInteger(n, -20, 20);
a.PrintLn;
WriteLn('Сумма элементов, которые оканчиваются на число 2, равна ', a.Where(x -> (x mod 10 = 2) or (x mod 10 = -2)).Sum);
end.
2)
begin
var a := ArrRandomInteger(10, -10, 10);
a.PrintLn;
WriteLn('Индексы отрицательных нечетных элементов:');
foreach var i in a.Indices do
if (a[i].IsOdd) and (a[i] < 0) then Write(i, ', ');
end.
ответ: 1499 9949
Python:
def f(n):
digits = [int(i) for i in str(n)]
# 1
first_sum = digits[0] + digits[1]
# 2
second_sum = digits[1] + digits[2]
# 3
third_sum = digits[2] + digits[3]
# 4
amounts = [first_sum, second_sum, third_sum]
del amounts[amounts.index(min(amounts))]
# 5
amounts.sort()
return int(str(amounts[0]) + str(amounts[1]))
numbers = []
for x in range(1000, 10000):
if f(x) == 1318:
numbers.append(x)
print(numbers[0], numbers[-1])
Проверяем в конструкторе значения на данные признаки, если мы получаем ошибку инициализации, то даем переменным нулевые значения, дабы избежать ошибок в других функция. (грубо говоря, чтобы вся программа не легла из-за конструктора, благодаря выводу текстового сообщения мы будем знать где конкретно ошибка)
#include <iostream>
#include <cmath>
class Progression {
private:
float first;
int second;
public:
Progression(float a0, int d) {
if (a0 == round(a0)) {
std::cout << "Инициализация первого члена прогрессии с конструктора не удалась, первый элемент не должен быть целыми числом!\n";
this->first = 0;
}
else {
this->first = a0;
std::cout << "Инициализация первого члена прогрессии успешно!\n";
}
if (d < 0) {
std::cout << "Инициализация разности прогрессии с конструктора не удалась, разность должна быть положительной!\n";
this->second = 0;
}
else {
this->second = d;
std::cout << "Иницализация разности успешно!\n";
}
}
float operator()(int j){
return this->first + this->second * (j - 1);
}
};
signed main() {
setlocale(LC_ALL, "Rus");
float a;
int b;
std::cout << "Введите значение a0 и d: ";
std::cin >> a >> b;
Progression p1(a, b);
std::cout << p1(2);
return 0;
}