class Finder:
def __init__(self):
self.current_range = range(1, 101)
def condition(self, user_select):
if user_select == '1':
return True
elif user_select == '2':
self.current_range = range(int(self.current_half + self.current_range.start), self.current_range.stop)
return False
elif user_select == '3':
self.current_range = range(self.current_range.start, int(self.current_half + self.current_range.start))
return False
@property
def current_half(self) -> int:
return int((self.current_range.stop - self.current_range.start) / 2)
finder = Finder()
while True:
user_select = input(f'Это {finder.current_half + finder.current_range.start}?\n')
result = finder.condition(user_select)
if result:
break
код на Python:
flag = True
while flag:
a = int(input("Введите 3-хзначное число: "))
if a < 100 or a > 999:
flag = True
else:
flag = False
a1 = a % 10
b1 = (a % 100 - a1) // 10
c1 = (a % 1000 - b1) // 100
S = a1 + b1 + c1
if S < 10:
print(0)
elif S >= 10 and S < 20:
print(1)
else:
print(2)
Объяснение:
Вначале мы используем цикл для проверки корректности введения числа. Если оно меньше 100 или больше 999, то мы должны ввести его снова
Потом разбиваем числа на разряды, a1 - это единицы, b1 - это десятки, c1 - сотни
В переменную S записываем сумму этих разрядов и при простого if...elif...else выводим число
Поделитесь своими знаниями, ответьте на вопрос:
const
n = 10;
var
a: array of shortint;
i, min, sumcount: shortint;
sum: integer;
begin
randomize;
setLength (a, n);
writeln ('Исходный массив:');
for i:=0 to n-1 do
begin
a[i]:=random (101)-50;
write (a[i], '; ');
if a[i] in [10..15] then begin
inc (sum, a[i]); inc (sumcount); end;
if a[i]<a[min] then min:=i;
end;
if min<>(n-1) then
begin
a[min]:=a[min]+a[n-1];
a[n-1]:=a[min]-a[n-1];
a[min]:=a[min]-a[n-1];
end;
writeln ();
if sumcount>0 then
writeln ('CA чисел в промежутке [10..15]: ', sum/sumcount)
else writeln ('Нет чисел в промежутке [10..15]');
writeln ('Удален элемент a[', min+1, '] = ', a[n-1], '; измененный массив:');
setlength (a, n-1);
for i:=0 to n-2 do write (a[i], '; ');
end.