Re: Перебор чисел
- From
- Andrew Ezhguroff ()
- To
- Dmitriy Gerasimenko
- Date
- 2002-07-23T14:24:31Z
- Area
- RU.ALGORITHMS
From: "Andrew Ezhguroff" <eandr@com2com.ru>
Привет! "Dmitriy Gerasimenko" <gerasimenko@karelia.ru> сообщил(а):
DG> Ну а коли так! То цикл тут не поможет, и применять следует
DG> ПЕРЕСТАНОВКУ!
А какое отношение это имеет к исходной задаче? Требуется найти все строки
длинной N, содержащие (в любом кол-ве) символы заданного алфавита. Где здесь
перестановка и N! ?
Требуемые M^N строк генерирует, например, такой код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int Tab_Out[256];
int main(int argc, char **argv){
if(argc<3)return 2;
int Len_Out = atoi(argv[1]);
int Cnt_Chr = strlen(argv[2]);
while(1){
for(int i=0; i<Len_Out; putchar(argv[2][Tab_Out[i++]]));
putchar('\n');
for(int i=0; (Tab_Out[i]=(Tab_Out[i]+1)%Cnt_Chr)==0;)
if(++i>=Len_Out)return 0;
}
}
С уважением, Андрей.
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)