Два соображения:
Произведение делится на 7, но не делится на 49, если один из сомножителей делится на 7 (но не на 49), а второй - не делится на 7.Произведение будет больше, если каждый из сомножителей будет большеПолучаем такую идею: будем хранить максимальное из всех чисел, делящихся на 7, но не делящихся на 49, и максимальное из чисел, не делящихся на 7. Их произведение будет ответом.
Реализация (Python 3.8.1)
max_div_7 = 0
max_not_div_7 = 0
while (x := int(input())) != 0:
if x % 7 != 0:
max_not_div_7 = max(max_not_div_7, x)
elif x % 7 == 0 and x % 49 != 0:
max_div_7 = max(max_div_7, x)
if max_div_7 == 0 or max_not_div_7 == 0:
print(1)
else:
print(max_div_7 * max_not_div_7)
#include <iostream>
int main(){
int a = 0;
int b = 0;
char operation;
std::cout << "Enter first number: ";
std::cin >> a;
std::cout << "Enter second number: ";
std::cin >> b;
std::cout << "Enter operation: ";
std::cin >> operation;
switch (operation){
case '-':
std::cout << "a - b = " << a - b <<'\n';
break;
case '+':
std::cout << "a + b = " << a + b << '\n';
break;
case '*':
std::cout << "a * b = " << a * b << '\n';
break;
case '/':
std::cout << "a / b = " << a / b << '\n';
break;
default:
std::cout << "Error\n";
}
return 0;
}
Объяснение: Это на C++