Аналіз алгоритму
У вирішенні будемо виходити з того, що .
Якщо , то добуток чисел буде додатнім, виводимо 1.
Якщо і , то серед множників є 0, тому добуток чисел дорівнює 0, виводимо 0.
Якщо , то всі множники від'ємні. Знак добутку визначається кількістю від'ємних множників. Якщо число множників парне ( і мають різну парність), то відповідь 1. Інакше відповідь -1.
Приклад
У третьому прикладі добуток має вигляд:
Добуток містить 7 від'ємних множників. Числа і мають однакову парність. Отже, добуток від'ємний.
Реалізація алгоритму
Читаємо вхідні дані.
scanf("%d %d", &a, &b);
Якщо всі множники додатні, то відповідь 1.
if (a > 0) res = 1;
Якщо серед множників є 0, то відповідь 0.
else if (a <= 0 && b >= 0) res = 0;
Якщо всі множники від'ємні, то відповідь визначається кількістю множників. Якщо число множників парне ( і мають різну парність), то відповідь 1. Інакше відповідь -1.
else { if ((b - a) % 2 == 0) res = -1; else res = 1; }
Виводимо відповідь.
printf("%d\n", res);
Java реалізація
import java.util.*; public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); int a = con.nextInt(); int b = con.nextInt(); int res; if (a > 0) res = 1; else if (a <= 0 && b >= 0) res = 0; else { if ((b - a) % 2 == 0) res = -1; else res = 1; } System.out.println(res); con.close(); } }
Python реалізація
a, b = map(int, input().split()) if a > 0: res = 1 elif a <= 0 and b >= 0: res = 0 else: if (b - a) % 2 == 0: res = -1 else: res = 1 print(res)