While12. Дано целое число $$N$$ ($$> 1$$). Вывести наибольшее из целых чисел $$K$$, для которых сумма $$1 + 2 + … + K$$ будет меньше или равна $$N$$, и саму эту сумму.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
program While12; var N,K,Temp :Integer; begin Write('Введите N: '); Readln(N); K:=0; Temp:=0; while not(Temp+K+1>N) do begin inc(K,1); Temp:=Temp+K; end; Writeln(K); Writeln(temp); end. |
Другие задачи из раздела While можно посмотреть здесь.
поправил своё решение тоже .
Было:
стало:
Решение Antona 14 строка меняем на
Не так не круто..
Было:
Стало:
var
n,s:real;
k:integer;
begin
readln (n);
s:=0;
k:=0;
while s=n then break;
inc(k,1);
writeln (‘ число ‘,k);
s:=s+k;
writeln (‘ сумма ‘,s);
end;
writeln (‘k=’,k-1,’ s=’,s-k);
end.