QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4408|回复: 1
打印 上一主题 下一主题

DFP算法

[复制链接]
字体大小: 正常 放大
ilikenba 实名认证       

1万

主题

49

听众

2万

积分

  • TA的每日心情
    奋斗
    2024-6-23 05:14
  • 签到天数: 1043 天

    [LV.10]以坛为家III

    社区QQ达人 新人进步奖 优秀斑竹奖 发帖功臣

    群组万里江山

    群组sas讨论小组

    群组长盛证券理财有限公司

    群组C 语言讨论组

    群组Matlab讨论组

    跳转到指定楼层
    1#
    发表于 2004-4-30 10:55 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    <>    !!!本程序适用于求解形如f(x)=1/2*x'Ax+bx+c二次函数的稳定点;
    9 L# N7 ^, @! j! j    !!!输入函数信息,输出函数的稳定点及迭代次数;
    & A$ l# [  s( T: q3 `    !!!iter整型变量,存放迭代次数;
    ; u8 W$ T7 x( n) h! Q+ I6 E, i    !!!x为n维变量,初始值由用户输入;gradt实型变量,存放函数梯度;& h, W/ }( ?, \+ P
        !!!dir实型变量,存放搜索方向;
    ) P- U- B) B- e    program main
    6 ?" a% m, Y$ ]' I" A, i    real,dimension(,allocatable::x,gradt,dir,b ,s,y,p ,gradt1,x1- |! v( r" u9 q
        real,dimension(:,,allocatable::hessin ,H ,G ,U
    3 P% [: {# @8 e9 A    real::x0,tol# T0 g* \2 n8 A$ {% R( I% C
        integer::n ,iter,i,j
    9 A0 R! P) U' `0 G2 F" V    print*,'请输入变量的维数'
    2 l7 H/ u7 x, N5 z6 ~    read*,n% M" ^8 P; m2 a& Q5 f* w
        allocate(x(n),gradt(n),dir(n),b(n),s(n),y(n),p(n),gradt1(n),x1(n))
    $ |! i. v- H1 a7 ]8 v( Y0 W    allocate(hessin(n,n),H(n,n),G(n,n),U(n,n))4 J% m- {) `+ n+ n! E
        print*,'请输入初始向量x'3 O8 ^% y: ?3 a3 U+ \& `2 t/ R
        read*,x7 U$ Z! F$ _( z5 X
        print*,'请输入hessin矩阵'
    5 N; [4 {2 ]! d    read*,hessin) F  a6 D4 x& s9 d; V! |8 x1 R
        print*,'请输入矩阵b'( c1 k- n9 i8 E2 D/ K0 O$ P; S
        read*,b
    - q! j$ [2 r& T/ Z# T6 s- X    iter=0
    8 b- H. J6 L$ Q5 u9 V1 P- A3 W tol=0.000001</P>+ n' y" q: X1 Z  ^% R
    <> do i=1,n
    * g% S4 o0 d! A: }! R    do j=1,n+ c" b8 S1 h( l: Y% ^6 {; \
           if (i==j)then 3 G. X7 S( A. _! x, O/ E. i, e
           H(i,j)=1
    0 a4 z9 ]' t% N* M% r    else
    1 v* |5 D; {9 K& r: R       H(i,j)=0, `$ z% f; Y  I' `0 Y0 ]
        endif
    ! A; v( m; }) q$ [    enddo. y/ g$ s: w- f/ X8 Q5 o
    enddo    * k  a1 \+ c; q# y7 n& g0 t" N& W
    100 gradt=matmul(hessin,x)+b+ j+ G( }, L+ A, v" J- w" @. C
        if(sqrt(dot_product(gradt,gradt))&lt;tol)then. J) O5 i' E. F' S/ q$ V1 V- a: M. ?
            !print*,'极小值点为:',x
    " |  y& \6 J- S     !print*,'迭代次数:',iter " R. x2 q% ~7 `% g. G0 [
         goto 101
    % j) v2 n# [# q* ?9 M# N    endif
      {0 B: |4 f; r  X5 T9 j: Y4 R dir=matmul(H,gradt)& S( K6 Q9 N1 O3 a; T9 c) `5 T3 q
        x0=golden(x,dir,hessin,b)
    2 J. i! q$ r& q6 @    x1=x+x0*dir ! d. y3 K0 a; K8 H! H8 A; Z0 ?0 _
    gradt1=matmul(hessin,x1)+b
    # ?0 b3 O5 a: I" Y s=x1-x
    / a: x4 W' R$ d6 v% h y=gradt1-gradt  m$ K1 @, y/ @1 T2 o
    call vectorm(s,G)' G$ |, I! ~, L. K9 e* h& p
    U=G
    6 b" @  }. n5 B% \, ? call vectorm(matmul(H,y),G)  }& o* R* k6 m3 E1 u7 a% _$ z
    H=H+1/dot_product(s,y)*U-1/dot_product(matmul(H,y),y)*G+ q& R: Y+ r+ {; H
    x=x1) \0 Y# z# z% F0 r9 ?3 S# y* C( W
        iter=iter+1  x* ?( x( T2 o5 y9 d
    if(iter&gt;=10*n)then
    - g3 x5 y8 N( s     print*,"out"# r  l; ~& g) q7 N; {4 l
      goto 101+ Y4 i8 z$ Y5 H2 O6 V, e
    endif. |: J3 z' ]  x) c( z) ?3 f
    print*,"第",iter,"次运行结果为", "方向为",dir,"步长",x0
    8 |) ~3 \1 s- W: Z* R2 W9 h2 J print*,x,"f(x)=",f(x,hessin,b)  
    ) A" G  ~5 N8 e( R  x    goto 100% e3 G9 ~) a9 R9 C/ s3 \
        contains</P>
    2 }/ P% B" C9 c+ S; }<>    !!!子程序,返回函数值   
    , y) D! p& Q) Y6 S+ e2 J: `6 f3 C$ I6 M    function f(x,A,b) result(f_result)# b7 m4 n# l3 t! V
        real,dimension(,intent(in)::x,b
    + v, f1 f4 ~, z    real,dimension(:,,intent(in)::A
    % \6 [- P% h8 b* Q7 p2 j" }* R    real::f_result: O9 d; i4 s# Q' h/ O
        f_result=0.5*dot_product(matmul(x,A),x)+dot_product(b,x)
    - A$ G7 T5 I% A6 A5 R1 S# R    end function f0 ?) O$ h+ U9 U. C/ w6 d
    !!!子程序,矩阵与向量相乘
    7 ?; o  K: }4 F& i8 Y subroutine vectorm(p,G)# D8 u# b& W& C; G& G, G
    real,dimension(,intent(in)::p
    # n; A! L* N3 T6 k. Z; E+ F5 A real,dimension(:,,intent(out)::G
    0 a; O4 K7 E6 I$ U. l1 i8 ~ n=size(p)
    4 S6 v1 o3 A2 o do i=1,n; U: m# F2 u& T" g6 g! W
        do j=1,n- V: z% I1 h, s2 T5 R
           G(i,j)=p(i)*p(j)
    $ ^, I2 I9 F1 @7 N    enddo" |) t- Y$ u! T( ~" U2 y
    enddo. `% o5 W9 j( [$ ~6 W: ]
    end subroutine
    " L$ r! |2 h3 r  m+ \
    5 R3 z9 T+ M3 X    !!!精确线搜索0.618法子程序 ,返回步长;
    8 C" u: w! q, v7 K' a    function golden(x,d,A,b) result(golden_n)  J8 X  }( ?4 a
        real::golden_n
    ) J. ]7 _0 [6 v* p) D    real::x0# G4 |# x! s8 W, ?3 N
        real,dimension(,intent(in)::x,d) y* s8 ], z" V& r2 H" Y/ s
        real,dimension(,intent(in)::b
      D( D! ?( J5 ~2 M! ^$ z4 k; S    real,dimension(:,,intent(in)::A7 {, R8 k- W7 ~) S8 X5 N
        real::x1,x2,a1,b1,f0,f1,f2,r,tol,dx( L' u9 e" B" a6 S  g
        parameter(r=0.618)
    ) T: k6 p9 |- \/ k( v    tol=0.0001
    ; G; x1 P( H6 A3 G, p    dx=0.1
    . E, ?0 F. ]# u3 G    x0=1. @( F$ N5 G- x( Q- F4 ]( p4 X* `7 M3 ^
        x1=x0+dx5 Y9 A6 g5 i8 d! B+ E3 h
        f0=f(x+x0*d,A,b)! a: S" E3 k$ \6 U$ J
        f1=f(x+x1*d,A,b); D) f  f7 p8 A# k2 {/ f
        if(f0&lt;f1)then
    0 `8 d6 G7 e* {9 N  q  n, ], i4       dx=dx+dx, T( c8 e% W. a- {
            x2=x0-dx- O4 j' u/ K6 Q/ x7 s
            f2=f(x+x2*d,A,b)8 A3 P# `, x# Q. c8 Z' o& m( @/ o
            if(f2&lt;f0)then
    : N' v+ `( A8 m$ w           x1=x0
    , \: k% G3 f: f5 B$ a4 a        x0=x22 v, P8 o# _  F- o7 Q
            f1=f0" f. n: ~$ u1 t
            f0=f27 M- \( m' p' t8 t4 U8 `
            goto 4! B" c- i, G; l  K. J; L" `
            else# p+ I) _; m- C1 u& L' I
               a1=x2( A" X5 C4 P, K5 o9 K% P" ~
            b1=x1# ~3 M( z  \0 ~$ @0 ]
            endif' \* _( {9 Z5 g7 C  n
        else
    , T  N- A% t; e3 y; r& x( n- \2       dx=dx+dx2 B) @4 Q+ J$ I- p
            x2=x1+dx& E% S3 c* R, Q* f& J- O
            f2=f(x+x2*d,A,b)
    . ]- `# t% {5 |9 e2 W8 H! Z        if(f2&gt;=f1)then1 ~( U# n" J7 X
               b1=x27 w$ Z7 H; i/ ]) K" K6 R
            a1=x0: e2 b! o" ^; F: S- R7 m; W( Y
            else
      x5 E7 ]. v6 R1 C0 ~* `5 z           x0=x1( m- j5 {9 g3 b2 y3 s2 p' d$ d
            x1=x2/ b, P  u$ j/ g8 n3 G$ T
            f0=f17 p9 N  W# m, {1 ^& Z! k
            f1=f2( |% N0 [" h" k, c
            goto 2
    ' {' ~* U1 s1 g5 z3 E6 k        endif
    . {. W' M6 g9 I1 v* ]$ K    endif& _  |; _+ z8 i7 d
        x1=a1+(1-r)*(b1-a1)" A" h5 ?( B8 ~6 b: ?
        x2=a1+r*(b1-a1)
    ; e# l* |( {2 C2 j! X2 T! z$ [    f1=f(x+x1*d,A,b)
    7 |4 C3 Q) p' H, Q) `$ v1 w    f2=f(x+x2*d,A,b)
    ! [. l7 I$ F! A9 E" P+ z3   if(abs(b1-a1)&lt;=tol)then
    ( k( A' g1 }& }+ S0 C$ a9 P        x0=(a1+b1)/2) [5 ]* @3 ?6 ]$ Y) V( r# ~+ V$ {
        else7 S% v, e$ `# m: T8 J/ D) V
            if(f1&gt;f2)then
    : [# V9 r* E' {0 B4 R; o4 V. V        a1=x1
    + D2 j1 ]5 W( Q. G9 w7 v/ e6 ~        x1=x2* E- k! l% E4 u- R4 e
            f1=f2
    8 N0 @: B* a! f        x2=a1+r*(b1-a1)& t& y% \! X$ z4 I6 V3 Z
            f2=f(x+x2*d,A,b)# o2 w  U/ C  s. a
            goto 3
    ( y8 ]3 `( ^( U# z1 e" h     else! Q$ N- ~, d7 \) O" J. j, G
            b1=x2* w; Y% ]( [% }
            x2=x1
    ! D" i, J! e; `: }/ ?& J$ @7 Q/ K        f2=f1
    . _% S7 v% k9 v7 w& n8 s# b6 n        x1=a1+(1-r)*(b1-a1)3 X( ?9 L! x0 ^! V0 I
            f1=f(x+x1*d,A,b)
    6 B% ^$ n1 ~1 k' p# P; n- V        goto 3
    : ]! V+ x  ~1 T6 t& S     endif( ~& m- B7 Q8 ^8 l8 i0 q
        endif
    ! c  v3 W4 V0 r5 [    golden_n=x0
    9 Y0 s3 Y- v8 g0 w9 E, T! B    end  function golden
    8 S3 E6 ^1 m" Q5 p101 end</P># {; p+ @0 x) G0 C) e
    <>!!!本程序适用于求解形如f(x)=1/2*x'Ax+bx+c二次函数的稳定点;: Q! Z7 N+ }% Y( l
        !!!输入函数信息,输出函数的稳定点及迭代次数;# ~% Y' y, G. p; X7 x4 Q
        !!!iter整型变量,存放迭代次数;7 g0 [) E% }0 d, V2 r
        !!!x为n维变量,初始值由用户输入;gradt实型变量,存放函数梯度;
    1 f' c- U% R% I$ b! z. S, I    !!!dir实型变量,存放搜索方向;
    ' p6 X1 _. ^: K" z8 }( _    program main
    + k) x9 z/ W# q  S2 f. b    real,dimension(,allocatable::x,gradt,dir,b ,s,y,p ,gradt1,x1
    + w7 g! `) `1 H2 @' R    real,dimension(:,,allocatable::hessin ,H ,G ,U$ ], D" k& V1 |3 l
        real::x0,tol
    7 ?) _: p5 C2 [  S- j    integer::n ,iter,i,j. L2 a- ]% b% V" Q8 |
        print*,'请输入变量的维数'
    5 X9 d9 S1 C; V, L! }! J    read*,n
    2 ~! G5 O6 R, L1 `( W    allocate(x(n),gradt(n),dir(n),b(n),s(n),y(n),p(n),gradt1(n),x1(n))
    # }- ]* `) [! R' U- C3 a    allocate(hessin(n,n),H(n,n),G(n,n),U(n,n))
    2 f" D5 h1 u! @9 t# p    print*,'请输入初始向量x'+ R+ Z# ?  P7 C& u& a3 k" n
        read*,x
    7 m/ ?) [9 c/ e" m) ~    print*,'请输入hessin矩阵'- x: K( i! v0 T/ \' I0 P: \. L
        read*,hessin/ p+ U2 S# Q+ A9 s# Q. d
        print*,'请输入矩阵b'7 |8 X3 U) C* l, L* M2 R
        read*,b# ]6 {3 y: p6 x* B2 ?. o5 f
        iter=0
    , c- b, U, X& ~0 S* ]/ i5 } tol=0.000001</P>
    - m7 x4 M0 d% u. a, `" a<> do i=1,n$ t/ [- m6 ~; d( m$ m1 e
        do j=1,n, w4 `' E; V- p" ?, [  A# ]
           if (i==j)then
      @6 w" C/ r  v! {       H(i,j)=12 l/ t5 i5 N1 j# I$ Z
        else7 ^4 [' G) m$ f' J# R
           H(i,j)=0
    9 l3 e6 I* P4 L$ @0 D, N    endif
    3 L% h" F; Q# m    enddo
    % h8 U6 N# z; H3 M$ g% z enddo    " ?/ m. k  W. ?8 y
    100 gradt=matmul(hessin,x)+b
    6 a' a: p. o3 T+ i% \' F    if(sqrt(dot_product(gradt,gradt))&lt;tol)then: W1 K& e" K1 i* m
            !print*,'极小值点为:',x  m8 w+ u9 Z/ T- t
         !print*,'迭代次数:',iter
    ) v# i( ?+ D) w     goto 1011 T$ Q/ i" Q) Y# w7 G
        endif
    - q" o% H# Y, @  g* k: d: @ dir=matmul(H,gradt)
    ' O% Z3 z2 T' v: p% S; F    x0=golden(x,dir,hessin,b)
    $ y1 `  W9 @) y( F    x1=x+x0*dir ! d: N( L/ A* `9 U
    gradt1=matmul(hessin,x1)+b, ]. V8 w) o9 R$ ?5 n4 j$ M- |
    s=x1-x/ \; {  B* B+ T
    y=gradt1-gradt
    : ?5 i* Q! f( ~6 F5 | call vectorm(s,G)
    0 o  i) I- _, F/ m3 Z U=G
    2 Z! N; w, N* Q* B8 a call vectorm(matmul(H,y),G)
    . A' b1 i% `3 o& ?& P; n  i8 N H=H+1/dot_product(s,y)*U-1/dot_product(matmul(H,y),y)*G/ o) b+ e9 U" q- T
    x=x1
    6 g# t: z0 d% m1 x. N    iter=iter+1' m' |, l! i( B* [  V0 D9 T
    if(iter&gt;=10*n)then' M4 Z; U3 v( l0 u: S
         print*,"out"2 V: l8 Q' H( r* O1 X
      goto 101( y4 k7 |  d/ C2 c- H  S
    endif
    3 C  J- a0 q8 S3 z; O# U' ] print*,"第",iter,"次运行结果为", "方向为",dir,"步长",x0' M4 R0 g% @  A1 i5 O" s) p; ~
    print*,x,"f(x)=",f(x,hessin,b)  
    4 W& g/ P4 C3 j: s    goto 100
    ( I+ Z. i6 ?& B! u6 E* b# O4 z; i    contains</P>. A& a: J5 Y" f. w
    <>    !!!子程序,返回函数值   
    # ~" A2 x6 S, D    function f(x,A,b) result(f_result)
    # e5 `4 f6 S, B+ X( V# z    real,dimension(,intent(in)::x,b3 ]: F2 ?3 U0 w; r
        real,dimension(:,,intent(in)::A
    5 v/ m% _  U) m2 q8 p( Q3 w* X+ V4 K) u- f    real::f_result
    % g( `) [% F6 b# \" g& j    f_result=0.5*dot_product(matmul(x,A),x)+dot_product(b,x)$ s' _1 l) @0 C( I+ W+ k
        end function f6 c8 A( R' _* L' c
    !!!子程序,矩阵与向量相乘8 E( A* V0 c) b7 }( r9 H& u
    subroutine vectorm(p,G)2 y+ h3 S" B. N8 h
    real,dimension(,intent(in)::p
    * j, C+ H8 i+ W8 L real,dimension(:,,intent(out)::G9 O1 D+ r% I: _; d
    n=size(p)7 v; @$ W- i+ k5 t- S
    do i=1,n
    ) ^* @+ @8 H5 C- l* }    do j=1,n
    8 W5 g# Y/ I* M: E  V       G(i,j)=p(i)*p(j): R; X! R9 H5 V$ z! I* D& o9 G
        enddo
    ' N, q( p* O7 k" S( R, ? enddo6 V# U% \3 e5 T9 H! n
    end subroutine+ M5 r  S9 }' U1 L" R
    / r) E- r8 s* g6 T1 Y$ R6 ~0 i7 E, {
        !!!精确线搜索0.618法子程序 ,返回步长;
    6 X! r! I7 R; h    function golden(x,d,A,b) result(golden_n)% m* c0 T( u6 F; L: H0 L
        real::golden_n7 d1 \0 C' O5 q4 \# o$ [9 p
        real::x0
    3 |' Z, v1 U- y6 w, g& o    real,dimension(,intent(in)::x,d# y5 s( r2 E& E) F  H
        real,dimension(,intent(in)::b% {" ~/ T! z: @+ S
        real,dimension(:,,intent(in)::A3 \3 s+ |6 T, G1 R" X( f+ L
        real::x1,x2,a1,b1,f0,f1,f2,r,tol,dx. r  l! \6 q7 v6 M' r# f: {
        parameter(r=0.618)/ P* P. f. Q, ~) G
        tol=0.0001
    1 Y& k/ z, ?& F& o, V# Q  O    dx=0.1
    ' T# j- R4 q# k/ H; {  P  X    x0=1
    ) C" U8 D/ v! U1 ~1 H( ]+ p2 b( l    x1=x0+dx
      X3 P8 D+ S6 G    f0=f(x+x0*d,A,b)
    ( k0 W! y9 T( B6 \' A7 l    f1=f(x+x1*d,A,b)2 E0 ]+ X$ h5 s! e% f9 c4 U
        if(f0&lt;f1)then
    1 }0 h, P1 E6 D0 m1 @8 w/ P7 O  x4       dx=dx+dx  L  S9 O9 Y3 P& j6 _0 P
            x2=x0-dx
    " k9 s  U$ l7 y2 b3 r        f2=f(x+x2*d,A,b)4 m& B; e. W& L
            if(f2&lt;f0)then
    + y1 M0 }3 z2 e           x1=x0
    ; A5 a2 z9 M2 _+ G3 s9 t2 _        x0=x2) @) @, B# K  ]$ O+ y' B+ P% j- u
            f1=f0+ N& Z6 ^7 K; y( g0 i0 l, N
            f0=f2
    ) n6 |; O5 C* Z2 \. h* W7 S        goto 4# Y/ U0 p: v. X7 X* C0 e7 }
            else9 }( D$ o+ [, U) t4 T' l3 [; P
               a1=x2
    , `$ h5 A0 U0 `2 P' H        b1=x16 v3 D& G8 e$ s4 p
            endif
    0 T" r; [9 j; x$ q3 {    else
    ; a/ ?# }8 g9 e1 a6 Q2       dx=dx+dx0 O' a, G: @& [. F  ~
            x2=x1+dx# i2 e& T$ k$ X0 k3 E. i' W  Q) r5 y
            f2=f(x+x2*d,A,b)
    , m- p) H+ b$ O) j6 E9 }        if(f2&gt;=f1)then
    # P0 k) F1 h$ n5 D. e           b1=x2/ `2 I; Y8 J& q% Z% Q
            a1=x0
    * t- o8 D0 t; f9 S5 i  l        else
    2 o3 t* _+ X) G3 g; j# @# p           x0=x1; n) `3 h% E, W
            x1=x21 p2 L' {4 h% A- ~2 S
            f0=f16 w- D$ q. R$ d* X9 k& N
            f1=f2
    4 n" ^4 i3 i- D" n" m: p/ B        goto 2
    * F. r7 {4 A3 z& ~        endif
    8 e% ~- O( L0 M6 i  `4 v* H    endif
    + A7 `) H2 y9 L& U' {* Q& F& _    x1=a1+(1-r)*(b1-a1)7 B) M& s5 Q4 m4 ~
        x2=a1+r*(b1-a1)
    , {4 x$ n4 J" f3 a8 R# N1 `8 P    f1=f(x+x1*d,A,b)6 y1 C, [" T; F* V. s# q
        f2=f(x+x2*d,A,b)
    7 X$ p0 {) i  f1 E7 i3   if(abs(b1-a1)&lt;=tol)then
    1 |6 [0 m2 m+ o* r% E1 g. a! U        x0=(a1+b1)/2( I) ~6 l& E9 v: v5 M+ w
        else, M5 f# b2 Z  G) F1 y0 ^
            if(f1&gt;f2)then" g$ w& v5 {+ S. c1 h* d: Z0 m8 b
            a1=x14 o' l1 Y: E6 n# {  \1 j, `
            x1=x2
    ) M" i( O3 Q+ H2 U        f1=f2& r+ u* i0 B7 i/ U+ M
            x2=a1+r*(b1-a1)
    0 x: Q  {# ]& v8 _        f2=f(x+x2*d,A,b)' P. V2 d# B/ T6 a
            goto 3
    ' S0 g8 K. q8 F2 b1 C. g     else
    ; @* `6 z* s1 w        b1=x2% x7 w2 O: w# |# v/ V
            x2=x1
    3 E  R- n/ L& `        f2=f1
    1 m' O5 k9 f6 I4 B2 N8 V( X( @        x1=a1+(1-r)*(b1-a1)
    ' |0 m: M5 W* Q7 W" g6 `, b  _        f1=f(x+x1*d,A,b)
    8 J  e) [; e/ |/ ?0 B9 y% u& W        goto 3  k+ R4 _" N. k  h  Z5 G
         endif1 m+ Q% |) Y- h
        endif7 M* D5 M9 V# _- j
        golden_n=x0
      a( `- W8 w( J! ^  V    end  function golden
    , q6 H* r  [+ Z4 o) c2 j101 end( g' N8 s9 |! Z: M
    </P>
    * p2 S7 j% u+ l<>本程序由Fortran 90编写,在Visual Fortran 5上编译通过,本程序由沙沙提供!
    & C+ X$ U2 O1 W, B  L9 Y</P>
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    3

    主题

    5

    听众

    92

    积分

    升级  91.58%

  • TA的每日心情

    2013-9-13 17:58
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-3 14:54 , Processed in 0.470269 second(s), 56 queries .

    回顶部