Panei
?>

Решите по информатике нужно написать алгоритм в виде схемы и программу на языке turbo basic заполните одномерный массив а() случайными целыми числами из диапазона чисел от -300 до 300. количество чисел 100. вычислите количество положительных чисел в массиве а и заполните ими одномерный массив в() по условию а()> 150. распечатайте массив в и количество чисел в этом массиве .

Информатика

Ответы

Суханова1532

def check_perfect(number:int, dividers = []):

for i in range(1, number):

 if number%i == 0:

  dividers.append(i)

if sum(dividers) == number:

 return 1

def get_div(num, div = []):

for i in range(1, num):

 if num%i == 0:

  div.append(i)

return div

def main():

number = int(input())

if check_perfect(number):

 print(' '.join(str(num) for num in get_div(number)))

else:

 print(0)

if __name__ == '__main__':

main()

Объяснение:

На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.


совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число
lika080489

...А если интересует решение на классическом Паскале, предлагаю просто поддерживать текущее, предыдущее и пред-предыдущее значения в ряду, и в цикле обновлять ответ.

Обрати внимание! longint может хранить значения только до 2^{31}-1, поэтому конкретно в этой программе вывод будет достоверным только для N ≤ 46. Ты можешь сделать текущую, предыдущую и пред-предыдущую переменные типа int64, и тогда максимальное значение N возрастёт до 92. Для бОльших N тебе придётся писать длинное сложение.


Код

var

i, n, pred, predpred, cur: longint;

begin

read(n);

if n = 1 then writeln(1)

else if n = 2 then writeln('1 1')

else write('1 1 ');

if n < 3 then exit;

pred := 1;

predpred := 1;

for i := 3 to n do

begin

 cur := pred + predpred;

 write(cur, ' ');

 predpred := pred;

 pred := cur;

end;

writeln;

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решите по информатике нужно написать алгоритм в виде схемы и программу на языке turbo basic заполните одномерный массив а() случайными целыми числами из диапазона чисел от -300 до 300. количество чисел 100. вычислите количество положительных чисел в массиве а и заполните ими одномерный массив в() по условию а()> 150. распечатайте массив в и количество чисел в этом массиве .
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Dmitrii836
ГусенковФролова1121
Murad Gushcharin
Vladimir1172
SVETLANAluiza1534
mishagoride885
karpachevamarina
Shlapakov1911aa
tvmigunova551
anyakru94
maximpr6
keldastrand
Зинина-Олесия
Nurislamovna1543