Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2009, 17:13   #11
Паскалька^^
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 53
По умолчанию

raxp, не исключает...
вот та же в принципе программа, что и у Вас

PHP код:
Program p2;
const
    
n=12;
var
    
s:string[n];
    
i,m:integer;
    
rezult:longint;
function 
fact(minteger) : longint;
  
begin
    
if m<= 1 then
      fact
:= 1
    
else
      
fact:=m*fact(1)
  
end;
begin
    writeln
('Vvedite stroku');
    
readln(s);
    
m:=length(s);
    
rezult:=fact(m);
    
writeln(rezult);
end
Паскалька^^ вне форума Ответить с цитированием
Старый 25.10.2009, 17:19   #12
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

вы видите из слова - loto видимо - otol несколько раз, забывая что o и o для комбинаторики это символы разные. если вы действительно хотите убрать, то...
Код:
 function fak(b:integer):Longint;
 var
p:Longint;
j:integer;
begin
p:=1;
for j:=2 to b do p:=p*j;
fak:=p;
END;

procedure TForm1.SpeedButton1Click(Sender: TObject);
 LABEL 1,2;
 const T=1.111111111;
VAR A:ARRAY[1..50] OF string;{'INTEGER;'}
    M,X1,k,Q,X,Y,I,U:Longint;
    n:Longint;
    w,j,nz,z,ii:integer;
    H:REAL;
    B:ARRAY[1..50] OF INTEGER;
    s,tt:string;
    p: boolean;
BEGIN
 memo1.clear;
 s:= maskedit1.Text;
 z:=length(s);
 nz:=trunc(80/(z+1));
 j:=nz;
 w:=0;
 M:=z;
 Q:=1;
 FOR I:=1 TO M-1 DO  Q:=Q*10;
 X:=TRUNC(T*Q);
 REPEAT
  1: {'????.'};
    X:=X+1;
    X1:=X;
    FOR I:=1 TO M DO
     BEGIN
      H:=X1/10;Y:=(X1 MOD 10);
      X1:=TRUNC(H);
      B[i]:=y;
     END;
    FOR I:=1 TO M DO IF (B[i]>M) OR (B[i]=0) THEN GOTO 1;
    FOR U:=1 TO M-1 DO FOR I:=U+1 TO M DO IF (B[u]=B[i]) THEN GOTO 1;
    IF (B[1]>M) THEN GOTO 2;
    tt:= '';
    FOR I:=1 TO M DO tt:= tt+ s[b[i]];
    w:=w+1;
    if j=w then
     begin
      j:=j+nz;
     end   else begin // ВОТ ТО ЧТО ВЫ ХОТИТЕ!
      p:= true;
      for ii:= 0 to memo1.Lines.Count-1 do
       if tt= memo1.Lines[ii] then p:= false;
      if p then memo1.Lines.Add(tt);//WRITE(' ');
      // --------------------
     end;
    n:=n+1;
 UNTIL (n>fak(z));
2: memo1.Lines.Add('кол-во ='+ inttostr(memo1.Lines.Count-1))
 end;
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 25.10.2009 в 17:40.
raxp вне форума Ответить с цитированием
Старый 25.10.2009, 17:29   #13
Паскалька^^
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 53
По умолчанию

опробовала.
повторы она тоже не исключает
Паскалька^^ вне форума Ответить с цитированием
Старый 25.10.2009, 17:37   #14
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ЧИТАЕМ http://www.programmersforum.ru/showp...9&postcount=12
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 25.10.2009, 17:41   #15
Паскалька^^
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 53
По умолчанию

Ну это уже ближе к истине))
Паскалька^^ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите (фразы анаграммы) Leopold666 Помощь студентам 5 09.08.2007 18:22