Аналіз алгоритму
Задачу можна вирішити:
за допомогою циклу, обчислюючи мінімальний та максимальний елементи;
за допомогою масиву;
за допомогою структури даних
set
.
Реалізація алгоритму
Читаємо кількість чисел у масиві.
scanf("%d", &n);
У змінних min
та max
підраховуємо найменше та найбільше число. Ініціалізуємо змінні.
min = 100; max = -100;
Обчислюємо мінімальний та максимальний елементи у вхідному масиві. Дані читаємо та обробляємо на льоту.
for(i = 0; i < n; i++) { scanf("%d", &a); if (a < min) min = a; if (a > max) max = a; }
Виводимо суму найменшого та найбільшого елементів.
printf("%d\n", min + max);
Реалізація – масив
Оголошуємо масив m
для зберігання вхідної послідовності чисел.
int m[100];
Читаємо вхідні дані.
scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &m[i]);
Обчислюємо мінімальний min
та максимальний max
елемент у масиві.
mn = 100; mx = -100; for (i = 0; i < n; i++) { if (m[i] < mn) mn = m[i]; if (m[i] > mx) mx = m[i]; }
Виводимо відповідь.
printf("%d\n", mn + mx);
Реалізація – динамічний масив
#include <stdio.h> int i, n, min, max; int *m; int main(void) { scanf("%d", &n); m = new int[n]; for(i = 0; i < n; i++) scanf("%d", &m[i]); min = max = m[0]; for(i = 0; i < n; i++) { if (m[i] < min) min = m[i]; if (m[i] > max) max = m[i]; } printf("%d\n", min + max); delete[] m; return 0; }
Реалізація за допомогою функції, якій у якості параметра передається масив
#include <stdio.h> int i, n, res, *m; int GetMin(int *mas, int n) { int i, min = 10000000; for(i = 0; i < n; i++) if (mas[i] < min) min = mas[i]; return min; } int GetMax(int *mas, int n) { int i, max = -10000000; for(i = 0; i < n; i++) if (mas[i] > max) max = mas[i]; return max; } int main(void) { scanf("%d", &n); m = new int[n]; for(i = 0; i < n; i++) scanf("%d", &m[i]); res = GetMin(m, n) + GetMax(m, n); printf("%d\n", res); delete[] m; return 0; }
Java реалізація
import java.util.*; public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); int n = con.nextInt(); int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE; for(int i = 1; i <= n; i++) { int val = con.nextInt(); if (val < min) min = val; if (val > max) max = val; } System.out.println(min + max); con.close(); } }
Python реалізація
Читаємо вхідні дані.
n = int(input()) m = list(map(int, input().split()))
У змінних min
та max
підраховуємо найменше та найбільше число. Ініціалізуємо змінні.
min = max = m[0]
Знаходимо мінімальний min
та максимальний max
елементи у списку m
.
for v in m: if v < min: min = v if v > max: max = v
Обчислюємо та виводимо суму найменшого та найбільшого елемента.
res = min + max print(res)
Python реалізація через min
та max
Читаємо вхідні дані.
n = int(input()) m = list(map(int, input().split()))
Виводимо суму найменшого та найбільшого елементів.
print(min(m) + max(m))