program name;
var i,n,x,summa,count:integer;
nechet:boolean;
begin
Writeln('Vvedite n: ');
readln(n);//получаем n
summa:=0;
count:=0;
i:=1;
if(n mod 2 = 1) then nechet := true else nechet := false; //проверяем четное число или нет
while i<n do begin//пока число меньше n
if(nechet) then//если число нечентное
begin
summa:=summa+i*i*i;//прибавляем к сумме куб этого числа
end
else//если число четное
begin
summa:=summa+i*i;//прибавляем квадрат числа
end;
i:=i+1;//прибавляем число на 1
end;
writeln(' summa: ', summa);//выводим сумму
readln();
end.
Поделитесь своими знаниями, ответьте на вопрос:
Укажите максимальное целое n, чтобы после выполнения фрагмента программы s было равно 14 int i = 1, s = 0; whilе (i < n) { i*=2; s+=i; }
давай будем делать как отладчик)
конец первого круга: (1 < n) (не запускается если это не правда)
i = i * 2 = 2; s = s + i = 2;
конец Второго круга : (2 < n) (не запускается если это не правда)
i = i * 2 = 4; s = s + i = 6 (2 + 4);
конец Третьего круга (4 < n) (не запускается если это не правда)
i = i * 2 = 8; s = s + i = 14 (6 + 8)
конец Четвертого круга (8 < n) (не запускается если это не правда)
i = i * 2 = 16; s = s + i = 30 (16 + 14)
Внимание: Здесь S > 14 (и будет только увеличиваться)
=> 4 < n <= 8 => Максимальное n = 8