
23.01.2008, 11:39
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
С нами:
11099536
Репутация:
518
|
|
Код:
void M_gen_key(char *str,int counter,int Nx2,int V)
{
int i,l1,l2;
if(counter<Nx2)
{
*(str+counter)='0';
M_gen_key(str,counter+1,Nx2,V);
*(str+counter)='1';
M_gen_key(str,counter+1,Nx2,V);
}
else
{ //тупость оправдываемая увеличением суммарного кол-ва тактов
// на анализ "умного" перебора хвоста
for(i=0,l1=l2=0;i<V;i++)
{
l1+=*(str+i)-0x30;
l2+=*(str+counter-i-1)-0x30;
}
if(l1==l2)
{
*(str+counter)=0;
// vivod kuda hochesh
// ...........
}
}
}
void CAwsfsfDlg::OnMyGenerate() // обработчик нажатия кнопки
{
char *str;
int N=4;
int Nx2=N*2;
int V=Nx2/2; //тут подкоректируешь если не всегда так
str=new char[Nx2];
M_gen_key(str,0,Nx2,V);
delete[] str;
}
Пользуйся
Последний раз редактировалось Delimiter; 23.01.2008 в 12:06..
|
|
|