В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Sashalizer
Sashalizer
16.03.2022 23:53 •  Информатика

Створи програму, після виконання якої, буде побудовано дванадцятикутну зірку (кут зірки - 50º)
Пайтон

Показать ответ
Ответ:
nataxasan1984
nataxasan1984
09.07.2020 11:49
// 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
0,0(0 оценок)
Ответ:
Fixir2
Fixir2
15.07.2020 18:21
Function ds(ByVal n As Integer) As Integer
    'Сумма цифр в числе n
    Dim s As Integer
    s = 0
    Do While n <> 0
        s = s + n Mod 10
        n = Int(n / 10)
    Loop
    ds = s
End Function

Function IsGood(n As Integer) As Boolean
    'Сохраняется ли сумма цифр при умножении числа на 2,3,..9 ?
    Dim etalon As Integer, k As Integer
    etalon = ds(n)
    IsGood = True
    k = 2
    Do While IsGood And k < 10
        IsGood = (ds(n * k) = etalon)
        k = k + 1
    Loop
End Function

Sub aaa()
    Dim i As Integer, s As String
    s = ""
    For i = 10 To 99
        If IsGood(i) Then s = s + Str(i)
    Next i
    MsgBox s
End Sub

Тестовое решение:
18 45 90 99
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота