Два соображения:
Произведение делится на 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)
using System;
namespace kp9p_pr_10_zad_6
{
class Program
{
delegate void Square(double a1, double b1, double alfa1);
static void Main(string[] args)
{
double a, b; // переменные для сторон a и b
double alpha; // переменная для угла альфа
Console.WriteLine("Введите значения треугольника:\n ");
Console.Write("a: ");
a = double.Parse(Console.ReadLine()); // ввод стороны a
Console.Write("b: ");
b = double.Parse(Console.ReadLine()); // ввод стороны b
Console.Write("Угол альфа: ");
alpha = double.Parse(Console.ReadLine()); // ввод угла альфа
sq(a, b, alpha);
static void sq(double a1, double b1, double alpha1) // функция sq расчета и вывода площади
{
Console.WriteLine("\nПлощадь: {0}", (a1 * b1 * Math.Sin(alpha1)) / 2); // вывод и расчет площади
}
}
}
}
67 (10cc) = 64+2+1 = 2^6+2^1+2^0 = 1 000 011 (2cc)
ИЛИ
67 |2
66 |
| 33 | 2
1 32 |
| 16 |2
1| 16 |
| 8| 2
0| 8|
---| 4|2
0| 4|
--|2|2
0|2|
--| 1 < первая цифра в числе и далее - остатки
0
49 (10cc)=32+16+1=2^5+2^4+2^0=110 001 (2cc)
54= 32+16+4+2= 2^5+2^4+2^2+2^1= 110 110 (2cc)
81=64+16+1=2^6+2^4+2^0=1 010 001 (2cc)