В интервале [2;n] найти натуральное число с максимальной суммой делителей.
В интервале [2;n] найти натуральное число с максимальной суммой делителей.
Ответ(ы) на вопрос:
Program Natur;
Uses Crt;
Var a, Summa, n : integer;
Begin
Clrscr;
write('N=');
readln(N);
{Цикл с предусловием}
a:=2;
Summa:=0;
while a<=N do
begin Summa:= Summa + a; a := a + 1 end;
Writeln (' Результат первого суммирования:' , Summa) ;
{Цикл с постусловием}
а:=1;
Summa:=0;
repeat Summa:=Summa+ а; а:=а+1 until a>N;
Writeln
(' Результат второго суммирования:' , Summa) ;
{Цикл с параметром} Summa:=0;
for а := 2 to N do Summa : =Summa + a;
Writeln (' Результат третьего суммирования:', Summa); End
Vivdarkbloom, к сожалению, нашел сумму всех чисел от 2 до N, а не число с
максимальной суммой делителей. Надо было так, пишу на Visual Basic
Sub Command1_Click()
Rem Программа запускается по нажатию кнопки Command1 на форме
Dim n As Integer, Summa As Integer, Max As Integer
Dim Maxn As Integer, i As Integer, k As Integer
n = Text1.Text ' Это текстовое поле на форме, куда вводится n
Max = 1: Maxn = 1
For i = 2 To n
Summa = 0
For k = 1 To i
If i Mod k = 0 Then Summa = Summa + k ' Если k - делитель i, то прибавляем
Next k
If Summa > Max Then ' Если сумма больше максимальной
Max = Summa ' Сохраняем сумму
Maxn = i ' И сохраняем число i.
End If
Next i
Text2.Text = Maxn ' Это второе текстовое поле, куда выводится результат
End Sub
Не нашли ответ?
Похожие вопросы