М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
lizabatyshkina
lizabatyshkina
12.04.2023 16:45 •  Информатика

Выполни Задание на Задание 1:

Составь программу.

Валентина прогуляла урок по математике. Учитель решил пошутить над нерадивой ученицей и попросил ее на уроке перечислить все положительные делители некоторых целых чисел. С маленькими числами она быстро справилась, но большими проблема ученице, составьте программу, которая будет запрашивать любые целые числа и выводить все положительные делители этого числа.

Подсказка: Ввод чисел осуществляется до тех пор, пока не будет введено число 0.

Пример: для числа 10 делители: 1, 2, 5, 10

👇
Ответ:
Scheerer
Scheerer
12.04.2023

для числа 12 делители: 1,2,3,4,6,12

для числа 14 делители: 1,2,7,14

для числа 15 делители:1, 3,5,15

для числа 16 делители: 1,2,4,8,16

для числа 17: 1,17

для числа 18: 1,2,9,18

для числа 19: 1,19

для числа 20: 1,2,4,5,10,20

для числа 21: 1,3,7,20

для числа 22: 1,2,11,22

для числа 23: 1,23

для числа 24: 1,2,3,6,8,12,24

всë я устал извините(

4,4(33 оценок)
Открыть все ответы
Ответ:
larryzw17
larryzw17
12.04.2023

program ;

var

  i, a: longint;

  x,

  u, j,  

  n, m : longint;

function fdiv (a, left : longint) : longint;

var

d,  

i : longint;

begin

d : = 1;  

for i : = left to trunc (sqrt (a)) do

if (a mod i = 0)

then

begin

d : = i;  

break;  

end;

if (d < > 1)

then

fdiv : = d

else  

fdiv : = a;

end;

function g (n, u : longint) : longint;

var

i : longint;  

begin

i : = 0;  

while (n mod u = 0)

do

begin

inc (i);

n : = n div u;

end;

g : = i;

end;

begin

assign (input, 'input.txt');

assign (output, 'output.txt');

reset (input);

read (a);

close (input);

m : = 0;

n : = 1;  

i : = fdiv (a, 2);

u : = 2;  

while (a > 1)

do

begin

n : = n * i;  

j : = 0;  

  while (a mod i = 0)

  do

begin

inc (j);

a : = a div i;

end;

if (j > m)

then

begin

m : = j;  

u : = i;  

end;

i : = fdiv (a, i + 2);

end;

x : = 1;

while (g (n * x, u) * n * x < m)

do

inc (x);

n : = n * x;  

rewrite (output);

write (n);

close (output);

end.

4,8(8 оценок)
Ответ:
Ернай
Ернай
12.04.2023

#arr = [*map(int, input().split(' 0')[0].split())]  если числа вводятся в строчку , то раскомментируйте и используйте эту строку, а инициализацию массива arr и цикл while закомментируйте

arr = []

while 1:

   tmp = int(input())

   if tmp != 0:  # Читаем сколько угодно чисел пока не будет ноль

       arr.append(tmp)

   else:

       break

s = 0  # сумма двузначных чисел

k = 0  # количество двузначных чисел

for i in arr:

   if 10 <= i <= 99:  # итерируемся по циклу и если число двузначное

       s += i  # то прибавляем его к сумме

       k += 1  # счетчик двузначный чисел увеличиваем на один

print(s/k) if k > 0 else print('NO') #если количество двузначных > 0 то выводим среднее арифметическое s/k, если нет то выводим NO

4,4(24 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ