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
program raf105;
var
s,s2: string;
i,j,n,price,points: integer;
begin
write('Количество задач в карусели: ');
readln(n);
write('ответы команды: ');
readln(s);
for i:=1 to length(s) do
if s[i]<>' '
then s2:= s2 + s[i];
price:= 3;
for i:=1 to length(s2) do
begin
if s2[i]='1'
then begin
points:= points + price;
price:= price + 1;
end
else for j:=1 to 3 do
if price > 3
then price:= price-1;
end;
writeln('Итоговый : ',points);
end.
PascalABC 3.4.2максимальной суммой делителей. Надо было так, пишу на 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