В компьютере больше функций,чем в калькуляторе
Program qwerty;uses crt, graphabc;var x,x0,y0,k:integer; y:real; beginx0:=320;y0:=240;k:=50;for x:= -320 to 320 do beginif x<0 then y:=x*xelse if (x>=0) and (x<10) then y:=xelse if x>=10 then y:=1/xend;end.
Вы "счетчик" в real объявили, а он должен быть integer
Var
k,fk, k20, count: integer;
function F(x: integer): integer;
begin
if x < 3 then
F := 1
else F := F(x - 1) + F(x - 2);
end;
begin
k20:=F(20);
writeln(k20);
count:=-1; {k=20 мы ж вроде должны вычесть}
for k := 3 to 50 do begin
fk:=F(k);
if fk=k20 then count:=count+1;
write(fk,' ');
end;
writeln(count);
end.
функция работает очень медленно потому что это рикурсия. Функция создает последовательность числ фибоначи которые вообщ то не повторяются потому что последовательность возрастающая. Повторения вообщем возможны изза того что integer это не безконечная последовательность, а кольцо, но дождаться результатов при таким образом построенной функции просто нереально
1+0=1 1+А=1
(1+0*1)*(1+А)=1*1=1
1. Программа на Питоне, подсчитывающая все слова:
word = "abracabra"
n = len(word)
words = set([word])
to_proceed = [word]
while len(to_proceed) > 0:
word = to_proceed.pop()
for l in range(n):
for r in range(l + 1, n + 1):
new_word = word[:l] + word[l:r][::-1] + word[r:]
if new_word not in words:
words.add(new_word)
to_proceed.append(new_word)
print(len(words))
2. Комбинаторика: такими операциями можно получить любую перестановку букв исходного слова (переворачиваем подстроку [1:n], затем [2:n], получаем слово, в котором на 1 месте стоит n-й символ. Такими операциями можно последовательно на все места поставить любые символы). Подсчитаем число слов:
- места для 4 букв a можно выбрать 9!/(4! 5!) = 126 способами
- 2 буквы b на оставшиеся 5 мест можно поставить 5!/(2! 3!) = 10 способами
- 2 буквы r на оставшиеся 3 места можно поставить 3 способами
- место для c определяется однозначно
Всего 126 * 10 * 3 = 3780 способов.
Ответ: 3780