Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / permutation / 8 сообщений из 8, страница 1 из 1
04.03.2010, 20:59:18
    #36503792
permutationer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
permutation
Здравствуйте!
Требуется алгоритм перестановок, работающий следующим образом:
Простите, если неграмотно сформулирую задачу - я не профессиональный программист.
Поэтому просто приведу пример требуемого результата:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, aa
, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au
, av, aw, ax, ay, az, ba, bb, bc, bd, be, bf, bg, bh, bi, bj, bk, bl, bm, bn, bo
, bp, bq, br, bs, bt, bu, bv, bw, bx, by, bz, ca, cb, cc, cd, ce, cf, cg, ch, ci
, cj, ck, cl, cm, cn, co, cp, cq, cr, cs, ct, cu, cv, cw, cx, cy, cz, da, db, dc
, dd, de, df, dg, dh, di, dj, dk, dl, dm, dn, do, dp, dq, dr, ds, dt, du, dv, dw
, dx, dy, dz, ea, eb, ec, ed, ee, ef, eg, eh, ei, ej, ek, el, em, en, eo, ep, eq
, er, es, et, eu, ev, ew, ex, ey, ez, fa, fb, fc, fd, fe, ff, fg, fh, fi, fj, fk
, fl, fm, fn, fo, fp, fq, fr, fs, ft, fu, fv, fw, fx, fy, fz, ga, gb, gc, gd, ge
, gf, gg, gh, gi, gj, gk, gl, gm, gn, go, gp, gq, gr, gs, gt, gu, gv, gw, gx, gy
, gz, ha, hb, hc, hd, he, hf, hg, hh, hi, hj, hk, hl, hm, hn, ho, hp, hq, hr, hs
, ht, hu, hv, hw, hx, hy, hz, ia, ib, ic, id, ie, if, ig, ih, ii, ij, ik, il, im
, in, io, ip, iq, ir, is, it, iu, iv, iw, ix, iy, iz, ja, jb, jc, jd, je, jf, jg
, jh, ji, jj, jk, jl, jm, jn, jo, jp, jq, jr, js, jt, ju, jv, jw, jx, jy, jz, ka
, kb, kc, kd, ke, kf, kg, kh, ki, kj, kk, kl, km, kn, ko, kp, kq, kr, ks, kt, ku
, kv, kw, kx, ky, kz, la, lb, lc, ld, le, lf, lg, lh, li, lj, lk, ll, lm, ln, lo
, lp, lq, lr, ls, lt, lu, lv, lw, lx, ly, lz, ma, mb, mc, md, me, mf, mg, mh, mi
, mj, mk, ml, mm, mn, mo, mp, mq, mr, ms, mt, mu, mv, mw, mx, my, mz, na, nb, nc
, nd, ne, nf, ng, nh, ni, nj, nk, nl, nm, nn, no, np, nq, nr, ns, nt, nu, nv, nw
, nx, ny, nz, oa, ob, oc, od, oe, of, og, oh, oi, oj, ok, ol, om, on, oo, op, oq
, or, os, ot, ou, ov, ow, ox, oy, oz, pa, pb, pc, pd, pe, pf, pg, ph, pi, pj, pk
, pl, pm, pn, po, pp, pq, pr, ps, pt, pu, pv, pw, px, py, pz, qa, qb, qc, qd, qe
, qf, qg, qh, qi, qj, qk, ql, qm, qn, qo, qp, qq, qr, qs, qt, qu, qv, qw, qx, qy
, qz, ra, rb, rc, rd, re, rf, rg, rh, ri, rj, rk, rl, rm, rn, ro, rp, rq, rr, rs
, rt, ru, rv, rw, rx, ry, rz, sa, sb, sc, sd, se, sf, sg, sh, si, sj, sk, sl, sm
, sn, so, sp, sq, sr, ss, st, su, sv, sw, sx, sy, sz, ta, tb, tc, td, te, tf, tg
, th, ti, tj, tk, tl, tm, tn, to, tp, tq, tr, ts, tt, tu, tv, tw, tx, ty, tz, ua
, ub, uc, ud, ue, uf, ug, uh, ui, uj, uk, ul, um, un, uo, up, uq, ur, us, ut, uu
, uv, uw, ux, uy, uz, va, vb, vc, vd, ve, vf, vg, vh, vi, vj, vk, vl, vm, vn, vo
, vp, vq, vr, vs, vt, vu, vv, vw, vx, vy, vz, wa, wb, wc, wd, we, wf, wg, wh, wi
, wj, wk, wl, wm, wn, wo, wp, wq, wr, ws, wt, wu, wv, ww, wx, wy, wz, xa, xb, xc
, xd, xe, xf, xg, xh, xi, xj, xk, xl, xm, xn, xo, xp, xq, xr, xs, xt, xu, xv, xw
, xx, xy, xz, ya, yb, yc, yd, ye, yf, yg, yh, yi, yj, yk, yl, ym, yn, yo, yp, yq
, yr, ys, yt, yu, yv, yw, yx, yy, yz, za, zb, zc, zd, ze, zf, zg, zh, zi, zj, zk
, zl, zm, zn, zo, zp, zq, zr, zs, zt, zu, zv, zw, zx, zy, zz, and so on...
Здесь я просто использовал циклы, исключительно для наглядности.
Длина строки здесь увеличивается последовательно - и вот с этим я впадаю в ступор.
Думал как то при помощи рекурсии решить вопрос, но никак не идет :(
В интернете поиск не дал результатов. Все примеры permutation даются на строке определенного размера, или всякие общие слова про комбинаторику пишут.
Помогите, кто в теме?
Или хотя - бы ссылку дайте.
Спасибо.
...
Рейтинг: 0 / 0
04.03.2010, 21:14:04
    #36503821
permutationer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
permutation
Я очень большой тормоз, ответ пришел сразу после создания темы, достаточно было вспомнить, что в некоторых языках в базовых стринговых классах даже существует функция под названием "next".

Ну я и тооооормоз :(
...
Рейтинг: 0 / 0
05.03.2010, 11:13:09
    #36504489
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
permutation
Хакир?
...
Рейтинг: 0 / 0
06.03.2010, 21:17:08
    #36506405
permutationer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
permutation
maytonХакир?

Ууу
Моя стлашная хакира, правда - правда :))

Вот псевдокод написал,если еще кто еще тормозить будет, как и я :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
public define next(word)
    return next(word.to_char_array,  0 )
end define



private define next(chars, depth)

        idx_last = chars.length -  1  
        min = 'a'
        max = 'z'

        if(chars[idx_last - depth] < max):

            ++chars[idx_last - depth]

            if (depth >  0 ):
                chars[from idx_last - depth +  1  to chars.length -  1 ].apply((symbol){symbol = min})
            
        elseif(depth < idx_last):
            return next(chars, ++depth)

        else:
            chars.apply((symbol){symbol = min})
            chars.insert( 0 , min)
  

        return chars.to_string

end define


...
Рейтинг: 0 / 0
06.03.2010, 21:28:52
    #36506413
Gys
Gys
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
permutation
Брутфорсе пишешь?)) Хщтя врятли...сомневаюсь))
...
Рейтинг: 0 / 0
06.03.2010, 21:32:52
    #36506419
permutationer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
permutation
Если я отвечу, зачем мне этот next, все будут громко смеяться.

Скажу только, что для банальной задачки :)
...
Рейтинг: 0 / 0
06.03.2010, 21:50:27
    #36506435
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
permutation
Валяй. Я смеяться не буду.

Уже насмотрелся на разработки студентов...
...
Рейтинг: 0 / 0
06.03.2010, 23:06:11
    #36506524
permutationer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
permutation
maytonВаляй. Я смеяться не буду.

Уже насмотрелся на разработки студентов...

Да, не важно.
Да и не студент я :)
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / permutation / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]