Поскольку за последним словом в предложении пробела нет, то количество слов в предложении будет на единицу больше количества пробелов.
var
i,n:integer;
s:string;
begin
Writeln('Введите текст, разделяя слова ровно одним пробелом');
Readln(s);
n:=0;
for i:=1 to Length(s) do
if s[i]=' ' then Inc(n);
Writeln('Количество слов в тексте равно ',n+1)
end.
<em><u>Тестовое решение:</u></em>
Введите текст, разделяя слова ровно одним пробелом
Это текст, количество слов в котором нам нужно посчитать.
Количество слов в тексте равно 9
Примерно это происходит вот так:
Число 3^n при n > 0 является круглым и в третичной системе двойки в нём содержаться не будет.
- всего 28 нулей.
- всего 18 нулей.
- всего 10 нулей.
- всего 3 нуля.
- конец 18 нулей, середина 28-18+1=11 нулей
- конец 10 нулей, дальше 18-10=8 двоек, дальше 28 нулей.
- конец 10-3-1=6 двоек, и 8 двоек, нули уже не важны.
Ответ: 6+8=14 двоек
Надеюсь нигде не ошибся в расчетах)
var i: integer;
n1,n2: integer;
begin
for i := 10 to 99 do
begin
n1 := i div 10;
n2 := i mod 10;
if (n1 + n2) * (n1 + n2) * (n1 + n2) = i * i then
begin
writeln(i);
end
end;
end.
Ккачай кряк для <span>need for speed most wanted, или скачай уже крякнутный.</span>