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 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
Спасибо
Ответ дал: Гость
смотри блок-схему в приложенном файле
Ответ дал: Гость
program prim2; uses crt; var i, n, r: integer; a: array[1.. 10000] of integer; begin clrscr; randomize; write ('число элементов '); readln(n); for i: =1 to n do begin {получаем случайные числа и выводим их на экран.} a[i]: =random(45)-22; write(a[i],' '); end; {в полученном массиве меняем соседние элементы.} i: =1; {пока i< =n-1.} while i< =n-1 do begin {меняем значения соседних элементов. } r: =a[i]; a[i]: =a[i+1]; a[i+1]: =r; {увеличиваем индекс на два.} inc(i,2); end; {распечатываем измененный массив.} for i: =1 to n do write(a[i],' '); readkey; end.
Популярные вопросы