Есть ответ 👍

Нужна реализация на pascal и vba! в заданном одномерном массиве целого типа найти и напечатать совершенные числа, или сообщить, что таких нет. использовать процедуру нахождения совершенного числа. (совершенным называется число, которое равно сумме своих делителей (конечно, за исключением себя самого). например, число 6 –совершенной, т.к. 6=1+2+3)

226
365
Посмотреть ответы 2

Ответы на вопрос:


// pascalabc.net 3.0, сборка 1088 const   nn=100; function sov(n: integer): boolean; var   i,s: integer; begin   s: =0;   for i: =1 to n div 2 do       if n mod i = 0 then s: =s+i;   sov: =(s=n) end; var   a: array[1..nn] of integer;   i,n,k: integer; begin   write('введите количество элементов в массиве (1-100): ');   read(n);   randomize;   writeln('*** сформированный массив ***');   for i: =1 to n do begin       a[i]: =random(1000)+1;       write(a[i],' ')       end;   writeln;   writeln('*** найденные совершенные числа ***');   k: =0;   for i: =1 to n do       if sov(a[i]) then begin write(a[i],' '); inc(k) end;   if k=0 then writeln(' к сожалению, не нашли ни одного') end. тестовое решение: введите количество элементов в массиве (1-100): 100 *** сформированный массив *** 890 171 531 345 764 347 433 602 368 51 490 271 310 249 96 365 751 521 951 501 646 467 24 698 23 580 902 950 154 607 263 333 625 92 454 302 661 323 806 761 989 645 606 739 87 151 231 804 990 496 422 805 982 664 178 424 148 833 322 184 446 484 449 761 789 158 647 219 796 794 704 429 715 190 513 1 861 285 612 872 349 99 960 659 185 458 352 961 914 31 155 828 1 622 316 505 197 845 951 930 *** найденные совершенные числа *** 496 vba excel 2003 function sov(n as integer) as boolean       dim i as integer, s as integer       s = 0       for i = 1 to n / 2               if n mod i = 0 then s = s + i       next i       sov = (s = n) end function sub main()       dim n as integer, i as integer, k as integer       cells.clear       n = val(inputbox("введите количество элементов в массиве: "))       redim a(1 to n) as integer       randomize timer       cells(1, 1).value = "*** сформированный массив ***"       for i = 1 to n               a(i) = int(1000 * rnd) + 1               cells(i + 1, 1).value = a(i)       next i       k = 0       cells(1, 5).value = "*** найденные совершенные числа ***"       for i = 1 to n               if sov(a(i)) then                       cells(k + 2, 5) = a(i)                       k = k + 1               end if       next i       if k = 0 then               cells(1, 5).value = ""               msgbox "совершенных чисел не найдено"       end if end sub

A= int( if a > 0: print(a -10) else: print(a +10)

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS