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
Спасибо
Ответ дал: Гость
поскольку http: \\ftp. не бывает, то ftp: \\schools.ru\program.exe
Ответ дал: Гость
1)
var
s,r: string;
i: integer;
begin
readln(s);
r: ='';
for i: =1 to length(s) do
if s[i]< > 'a' then r: =r+s[i];
writeln(r);
end.
2)
текст разделяем знаками препринания
var t: array [1..100] of string; p, s, r: string; f, i, j, k: integer;
begin p : = ' ; : -'; readln(s); k : = 0; r : = ''; for i : = 1 to length(s) do begin f : = 0; for j : = 1 to length(p) do if s[i] = p[j] then f : = 1; if f = 0 then r : = r + s[i] else begin k : = k + 1; t[k] : = r; r : = ''; end; if i=length(s) then begin k : = k + 1; t[k] : = r; end; end; for i : = k downto 1 do write(t[i], ' '); end.
Популярные вопросы