c++ / gcc 7.3.0
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
unsigned short int N;
unsigned int result = 0;
std::cin >> N;
std::vector<unsigned short int> arr;
while(true)
{
unsigned short int tmp;
std::cin >> tmp;
if(tmp != 0)
arr.push_back(tmp);
break;
}
std::for_each(arr.cbegin(), arr.cend(), [&result](auto& var)
{
if(var > 99 && var < 1000 && (var % 4 == 0))
result += var;
});
std::cout << result << std::endl;
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
Между населёнными пунктами A, B, C, D, E, F построены дороги, протяжённость которы (в километрах) приведена в таблице.Определите длину кратчайшего пути между пунктами А и F. Передвигаться можно только подорогам, указанным в таблице.OTBET:
mas = []
for i in range(1000):
n = int(input())
while ((0 > n) or (n > 300)):
print("Enter n in interval: 0 < n < 300")
n = int(input())
if (n == 0):
break
else :
mas.append(n)
#В даном цыкле мы заполнили масив mas[] всеми елементами, которые вводились из клавиатуры и подпадали под определение - 0 < n < 300
print("1 (mas)")
print(*mas)
print()
mas_peregon = []
for i in range(len(mas)):
if ((mas[i]//100) > 0):
mas_peregon.append(mas[i])
else :
continue
#В даном цыкле мы заполнили масив mas_peregon[] всеми елементами, которые есть в масиве mas[] и являются трехцыфовыми числами
print("2 (mas_peregon)")
print(*mas_peregon)
print()
mas_kr_4 = []
for i in range(len(mas_peregon)):
if ((mas_peregon[i]%4) == 0):
mas_kr_4.append(mas_peregon[i])
else :
continue
#В даном цыкле мы заполнили масив mas_kr_4[] всеми елементами, которые есть в масиве mas_peregon[] и есть кратными четырём
print("3 (mas_kr_4)")
print(*mas_kr_4)
print()
s = 0
for i in range(len(mas_kr_4)):
s = s + mas_kr_4[i]
#В даном цыкле мы нашли суму елементов масива mas_kr_4
print(s)
Объяснение:
Можно было сделать на один цыкл меньше, но я уже не стал исправлять. Кстати, реализовано на Python 3