Используя рекурсию, запрограммируйте функцию evenSum :: integral a => [a] -> A, которая возвращает сумму тех элементов списка чисел, которые четны (четны). evenSum [1,2,3,4] ~>* 6
evenSum [4,3,2,1] ~>* 6
evenSum [] ~>* 0
Поскольку мы хотим, чтобы вы запрограммировали функцию с рекурсии, в этой задаче вводятся следующие ограничения:
у вас нет фильтра, карта, concatMap, выражения производится, foldl, foldr1, foldl1, молния, zipWith, zip3, zipWith3 и сумма функций (некоторых других аналогичных функций от прелюдии, которые выходят за рамки данной статьи также отключаются);
Если имеется в виду (a*b);
то будет 48
Тоесть такой код:
a=4; b=2; c=6
a=(a*b)*c
print(a)
Ну а если так:
Ну а если так:Выйдет ошибка:
Traceback (most recent call last):
Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module>
Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module> start(fakepyfile,mainpyfile)
Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module> start(fakepyfile,mainpyfile) File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start
Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module> start(fakepyfile,mainpyfile) File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start exec(open(mainpyfile).read(), __main__.__dict__)
Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module> start(fakepyfile,mainpyfile) File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start exec(open(mainpyfile).read(), __main__.__dict__) File "<string>", line 2, in <module>
Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module> start(fakepyfile,mainpyfile) File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start exec(open(mainpyfile).read(), __main__.__dict__) File "<string>", line 2, in <module>NameError: name 'ab' is not defined
#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;
}
Объяснение:
Как то так