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
Спасибо
Ответ дал: Гость
var a,b,c,d,x,res: integer;
begin
readln(x);
a: =x div 1000;
b: =x mod 10;
c: =x div 100 mod 10;
d: =x mod 100 div 10;
res: =a+b+c+d;
writeln(res);
readln;
end.
Ответ дал: Гость
1)
vara, b: integer;
beginreadln(a, b); if (a div 10 + a mod 10) > (b div 10 + b mod 10) thenwriteln('сумма цифр ', a, ' больше')elsewriteln('сумма цифр ', b, ' больше'); end.
2)
vara: integer;
beginreadln(a); writeln((a mod 10) * 10 + a div 10); end.
3)
vara: integer;
beginreadln(a); if ((a div 100) = (a mod 100) div 10) or ((a div 100) = (a mod 10)) or ((a mod 100) div 10 = (a mod 10)) thenwriteln('есть 2 одинаковые цифры')elsewriteln('нет 2-х одинаковых цифр'); end.
Популярные вопросы