QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4179|回复: 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二次函数的稳定点;
    # u0 b  j' w, c& `7 v- v8 w/ K    !!!输入函数信息,输出函数的稳定点及迭代次数;
    ( T# v' x1 z& \% m6 Q: C- A    !!!iter整型变量,存放迭代次数;  _4 O3 Q( H& H) F; w4 ?2 B+ C
        !!!x为n维变量,初始值由用户输入;gradt实型变量,存放函数梯度;
    2 V- G% e, J% i, t# X, r    !!!dir实型变量,存放搜索方向;
    2 v' `4 B9 U) K* E) `$ @/ d! d    program main% m- x' C' ?2 O; q& d$ T; s
        real,dimension(,allocatable::x,gradt,dir,b ,s,y,p ,gradt1,x1, T. j& M, j& X
        real,dimension(:,,allocatable::hessin ,H ,G ,U
    0 R0 U( M  E, g1 T    real::x0,tol
    - v) h$ \8 n$ S4 C0 q$ h& X    integer::n ,iter,i,j
    ; B! f, k& _( J1 ]; u9 Q' ^    print*,'请输入变量的维数'
    6 a9 W7 G- z% x4 b% Y    read*,n
    # ~9 B: k3 C( }" K' P    allocate(x(n),gradt(n),dir(n),b(n),s(n),y(n),p(n),gradt1(n),x1(n))/ D1 g  X5 u( ~+ r5 D
        allocate(hessin(n,n),H(n,n),G(n,n),U(n,n)), f* a9 J1 G: b, D9 H0 r
        print*,'请输入初始向量x'
    $ |' T: D. L) g9 d1 Q    read*,x4 |/ Y6 P' ?0 p) ^. B; S: ^! d3 q! f
        print*,'请输入hessin矩阵'& X& G2 t+ X; m) M3 J6 ]' o, G
        read*,hessin
    2 ?. t( V$ k/ a/ o- H9 F    print*,'请输入矩阵b'7 x9 v' K9 v( U1 i9 i
        read*,b2 ^! A  ]# k8 n* s& `/ R" O) ~
        iter=0" H  m, k2 o9 l* v6 D$ W, f
    tol=0.000001</P>
    / `2 W' ^) Y9 r4 Y5 w<> do i=1,n  a2 S) t$ K, l
        do j=1,n( e! h  U$ I, B
           if (i==j)then : H0 l+ d/ u$ ]. {5 ?7 b
           H(i,j)=1
    / F& m8 a+ p% ~; ]# d    else
    3 p( u5 M5 W- M- T# P6 C5 x       H(i,j)=0
    8 \# W* t" e6 }" H    endif
    6 a* E: L- i+ A( ?' k    enddo0 K. g9 Q% y  h0 i
    enddo    & }- w( }: e1 T* |- |3 H
    100 gradt=matmul(hessin,x)+b
    " S% _2 \) a9 C: R# j6 U    if(sqrt(dot_product(gradt,gradt))&lt;tol)then% U# x1 v/ \% E7 n9 b" o8 i' P
            !print*,'极小值点为:',x
    9 R' a4 _( \+ O     !print*,'迭代次数:',iter   y2 J. u2 d( M, {1 i
         goto 101
    " p0 W5 E: J* g    endif
    . g2 O9 G$ M+ t dir=matmul(H,gradt)
    - Z- }; k. L1 |- z3 A    x0=golden(x,dir,hessin,b)
    8 E. \& h8 h, ~3 n    x1=x+x0*dir
    " ^  b. [4 ~5 b' ^" ^ gradt1=matmul(hessin,x1)+b" F& t4 \0 T9 T& m; R. V
    s=x1-x' e2 }& y8 _% p' |2 D0 i: b% a3 f
    y=gradt1-gradt
    % S( e' P2 o2 q4 O! w) S call vectorm(s,G)
    . ^1 V& D0 i! K6 t" r2 B U=G
    0 D! [/ D6 g9 w% C call vectorm(matmul(H,y),G)! O; e0 w( {5 b5 @
    H=H+1/dot_product(s,y)*U-1/dot_product(matmul(H,y),y)*G2 J. Q% T: O' P8 T  Z
    x=x1
    , D/ J, m- J1 N! u- y+ \    iter=iter+1
      J1 M- g# V" n6 e) I/ F if(iter&gt;=10*n)then& M8 T3 ]8 l) c% w- x: s
         print*,"out"$ W" r& V. k; A" B+ p' c& L
      goto 1012 Z1 p4 Y% b% w3 Q
    endif
    % l  c# N) n$ }0 @4 H print*,"第",iter,"次运行结果为", "方向为",dir,"步长",x0
    9 A9 X# k: m3 W print*,x,"f(x)=",f(x,hessin,b)  + O/ @9 Y& t: q" M2 {
        goto 100* U2 B" a  z$ i3 B3 X. D' e
        contains</P>
    # {3 e! b! q8 L) ?0 ]& \; D<>    !!!子程序,返回函数值    3 f* X$ l6 ^9 o
        function f(x,A,b) result(f_result)4 w/ Y3 p3 B. z9 f% E# J0 S2 |
        real,dimension(,intent(in)::x,b4 }8 l/ W# j2 B, _5 K3 L/ D
        real,dimension(:,,intent(in)::A
    " j5 l* B* u0 O9 i% d) K    real::f_result* p2 n0 T1 ]& g1 G' R  f$ h( e9 C
        f_result=0.5*dot_product(matmul(x,A),x)+dot_product(b,x)
    ( {$ {. m! R. l4 X, A* E4 I    end function f8 i! s% f1 e) E; R* ?! C* |: Y6 |' R( N
    !!!子程序,矩阵与向量相乘
    % m" \7 [+ r0 ?$ {* p, f5 Y subroutine vectorm(p,G)
    ) g! _, i8 J# E real,dimension(,intent(in)::p6 l' j' ^3 w* }  S+ P
    real,dimension(:,,intent(out)::G
    * t2 I6 |/ j/ k; U n=size(p)- j7 _! a& e( l9 q3 a' w
    do i=1,n
    ( u6 |1 A6 P0 b; p6 a9 I, i  |    do j=1,n
    6 `# W, m! `7 L$ D; j       G(i,j)=p(i)*p(j)
    9 \; T2 G. e; \4 p1 v6 G7 U. x3 V6 E    enddo7 a7 q  \1 Q8 i  i8 A" M
    enddo! S2 f0 O8 J' C1 L5 n, T) H2 n: H
    end subroutine
    & o! N; Y, X8 H- Q / `8 s, R2 R; W% N/ Z2 |  z7 z
        !!!精确线搜索0.618法子程序 ,返回步长;( l+ I) S7 L# _8 [) W& m
        function golden(x,d,A,b) result(golden_n)' h7 o/ P+ w( R5 F% c
        real::golden_n( h2 i# T+ Q- O# _7 \3 S
        real::x0, U  P  i/ _3 H' a" \/ x0 N
        real,dimension(,intent(in)::x,d
    2 s. M8 E9 w! N( E. O    real,dimension(,intent(in)::b
    . w5 X: f& ~) i4 |4 Q    real,dimension(:,,intent(in)::A
    ; d; W6 x3 s# N0 }( o, a    real::x1,x2,a1,b1,f0,f1,f2,r,tol,dx
    9 w- I$ |: h- \7 u& w    parameter(r=0.618)
    % R. E( Y' Q: {8 g* B. u    tol=0.00012 }1 d. X. e$ @+ D: ]
        dx=0.1; k1 Z( U% {  \
        x0=1
    0 W. f: ]0 k0 X4 L, Z7 i    x1=x0+dx9 p& D4 m% Z; h7 e: q6 B3 E
        f0=f(x+x0*d,A,b): P# g0 c+ C1 s& z
        f1=f(x+x1*d,A,b)
    $ `# u3 p# R8 B% p& H5 R    if(f0&lt;f1)then5 w$ {5 K) f! ^7 e8 I8 @
    4       dx=dx+dx
    0 I% I) x6 }- h- J: r        x2=x0-dx5 R1 R& Q" Y5 `' }- X* d' M. Q% S; [: W/ B
            f2=f(x+x2*d,A,b)1 O! `1 T: w) Q- X# u9 \* e! p
            if(f2&lt;f0)then
    + A( C) m( }9 H9 r           x1=x0
    0 j, b. X0 Z) d- P$ I        x0=x2
    # P5 B" F: X8 X7 w% \! q3 J9 _$ Y        f1=f0
    % ~! E: ?5 a6 W" H1 e+ b( |        f0=f2' Q9 o$ A! Z5 K3 `
            goto 4
    % ~4 i2 X3 `, |. F, W5 |6 Q! G2 P4 Z. }        else
    8 C3 D3 K( z. x           a1=x2. ]0 o4 v* y1 m* b2 _3 y
            b1=x1
    $ r- x, e/ X) F        endif1 B* z& |1 e0 d' ~
        else' s8 p; b4 _* f) V# U* m- Y3 h
    2       dx=dx+dx% _/ }- d. Z' i1 f
            x2=x1+dx
    1 T4 G) G9 X; a+ {5 A        f2=f(x+x2*d,A,b)
    7 D& k9 w3 W( ~$ h* L' I        if(f2&gt;=f1)then5 o, R( ?" T4 _9 W0 I
               b1=x2
    , U. a5 a/ _: o1 j        a1=x08 X2 ^  `, t. q' m2 C7 I: f; \
            else
    5 {& `% i$ h+ g           x0=x1
    ) R/ }1 r& H4 ], y& K! F- a2 k5 P        x1=x2
    2 t0 i! x/ Y; E5 H* i6 X        f0=f17 B0 q9 k; I+ ~
            f1=f2
    - q/ ~6 e6 W" t7 ]        goto 27 T% M4 k1 `$ {+ s8 G0 f
            endif' Z$ O/ _# _* G( @
        endif1 `: ]* o( _6 Z3 M9 H% |( H- R- O1 _9 z
        x1=a1+(1-r)*(b1-a1)
    - Y5 X; @8 V  |' d& o; A9 C  @+ e    x2=a1+r*(b1-a1)
    - M1 h7 ~& b, H; |    f1=f(x+x1*d,A,b)
    ; a; @4 {! I# U4 o1 A" f( `    f2=f(x+x2*d,A,b)! R" u/ C# Q  x* [% M6 O3 D
    3   if(abs(b1-a1)&lt;=tol)then2 K9 J9 h* d" K. z! E5 s
            x0=(a1+b1)/2
      x8 H! r9 B4 t, [# R! z+ L    else
    * C( y; C* P  N: Z2 {        if(f1&gt;f2)then  k5 f3 ~# n4 `7 ^" L6 k+ H
            a1=x1
    - N! M5 b+ W' L9 i$ n/ i        x1=x2
    " o4 ]  D4 M5 O, j- U        f1=f2
    7 @  l; B! M3 I6 c4 ^        x2=a1+r*(b1-a1)$ e3 A/ w: w. K/ x. z' U( P& L
            f2=f(x+x2*d,A,b)' i4 U( D# _& U  |8 H
            goto 3
    8 P4 C; H& W, s     else7 H+ U1 P) C9 n
            b1=x2& H2 N6 F; v1 F
            x2=x1+ A- w+ ?7 X& E' j3 _" O$ V
            f2=f1, }8 j- v1 |6 }# }: p% ]& j+ q
            x1=a1+(1-r)*(b1-a1)
    * r/ _+ u5 P8 @        f1=f(x+x1*d,A,b)& ]8 T2 W; j  E0 U7 X
            goto 3, N! s+ b( u. ?3 t; s" f
         endif1 n* m4 F' u! |7 |$ N
        endif
    8 B1 l1 Z" x- ?2 S* g    golden_n=x06 N  f/ ^$ ]$ e' J
        end  function golden$ g# U  j5 h+ B; }1 m8 P
    101 end</P>
    4 q* v* D8 s/ p: [. h) l<>!!!本程序适用于求解形如f(x)=1/2*x'Ax+bx+c二次函数的稳定点;. J' F, {/ H, K! m; A8 ~" A4 r
        !!!输入函数信息,输出函数的稳定点及迭代次数;" j2 K0 d' v7 u! R+ A- r
        !!!iter整型变量,存放迭代次数;
    9 _; l# @* f4 Q" o! ]    !!!x为n维变量,初始值由用户输入;gradt实型变量,存放函数梯度;$ S- V' g- x+ ]' X% F
        !!!dir实型变量,存放搜索方向;
    / [) C# ]# g5 u    program main
    9 S9 {7 z" h3 {    real,dimension(,allocatable::x,gradt,dir,b ,s,y,p ,gradt1,x1- {) g+ N6 m+ F; c9 a0 j
        real,dimension(:,,allocatable::hessin ,H ,G ,U& O: ?1 c3 h+ [9 n) T' O
        real::x0,tol
    # i% ]2 t. a' Z% l% }0 q5 `    integer::n ,iter,i,j( C: z2 u! i+ H7 R
        print*,'请输入变量的维数'
    - Z6 ~$ C) g2 l% a    read*,n
      O# p5 g+ P2 J! l    allocate(x(n),gradt(n),dir(n),b(n),s(n),y(n),p(n),gradt1(n),x1(n))
    4 g3 F% A: Z8 C: E$ h    allocate(hessin(n,n),H(n,n),G(n,n),U(n,n))" X6 G8 B! [3 U/ z% [: N$ C
        print*,'请输入初始向量x'! I. _: x! M8 N. H6 {
        read*,x
      G4 u4 l- y0 Y" b$ ]/ q    print*,'请输入hessin矩阵'
    7 ?9 a( @/ F; O3 _; @6 T2 F0 D    read*,hessin3 F! {- G. Y/ W6 {" t) T
        print*,'请输入矩阵b'. Q) i3 ~. S3 a
        read*,b# d. z8 h; ~* g+ M5 G
        iter=0
    ) T6 n4 Z: S; r( K1 C0 ~ tol=0.000001</P>; g7 Y7 ?0 K* S) N5 I/ l8 `
    <> do i=1,n$ i) Q/ V" t# J& w% T7 o6 W
        do j=1,n: G3 Y; `5 I& a% a/ g6 S
           if (i==j)then & w+ C$ X- |7 w3 [$ f: ~2 K
           H(i,j)=1& I/ i; g4 L5 G$ a
        else
    2 `4 g+ s$ u6 P+ L2 P7 m       H(i,j)=0
    8 a7 D4 C, v% a8 G5 |0 c: m& d    endif
    9 y4 s, G0 `( \    enddo9 \/ d  U( c  L& S8 j
    enddo   
    $ P' O" d8 d9 D0 v- G100 gradt=matmul(hessin,x)+b) a# c) y" k" |5 m" x. \! W
        if(sqrt(dot_product(gradt,gradt))&lt;tol)then/ {5 d/ R6 Y; B% Q! r
            !print*,'极小值点为:',x
    3 f( N2 {. S6 [4 p& L- `5 v     !print*,'迭代次数:',iter
    6 j4 [/ Y5 k3 O) G3 R, U+ n     goto 101
    2 ?2 c3 y% f; C& j    endif
    / V7 G5 D9 m0 z6 j4 l dir=matmul(H,gradt)3 T5 x+ q1 J% C4 k$ b
        x0=golden(x,dir,hessin,b)
    & g$ J, P. u# N% @- m, {    x1=x+x0*dir
    ) W) D3 R* e# O+ X2 J gradt1=matmul(hessin,x1)+b
    2 z8 C' J3 Y/ q' i8 \ s=x1-x
    5 ~4 Y/ V/ d! w; T4 @ y=gradt1-gradt
    3 W* N* ^& I$ B4 i call vectorm(s,G)% q" G$ J; k: a6 A0 f
    U=G5 [" J- l  Q; T4 i
    call vectorm(matmul(H,y),G)
    8 ^0 S2 e8 x* v  X H=H+1/dot_product(s,y)*U-1/dot_product(matmul(H,y),y)*G
    * J, Q0 k% Q! L  A0 w0 ~ x=x1
    : q# r( ?" @! U! \  x7 x4 ]    iter=iter+1
    & U6 q* E0 N; f  k7 N6 Z) Y% v/ B if(iter&gt;=10*n)then! L9 m$ d" u" W! G. L0 x
         print*,"out"! ]4 u$ i. M) j6 u
      goto 101
    2 q+ \& d) I* P3 w3 J1 o endif
    ( ?! X0 r; }% v1 s" d9 F# `5 o print*,"第",iter,"次运行结果为", "方向为",dir,"步长",x06 O+ X: l! e) E
    print*,x,"f(x)=",f(x,hessin,b)  
    , ?5 h" t3 y3 Z    goto 100
    0 H8 t( O: v6 a6 p+ o    contains</P>$ _$ n: y; h! w8 V/ q# v
    <>    !!!子程序,返回函数值   
    , r0 h- @2 l7 {8 l3 ~    function f(x,A,b) result(f_result)
    - Q7 Y; ]3 K) d: N% y( r$ [    real,dimension(,intent(in)::x,b
    . F& ?+ x/ c- i( q) N8 w    real,dimension(:,,intent(in)::A; C* K9 P& n. ]$ r
        real::f_result
    % H0 y3 A" e+ \) \3 b    f_result=0.5*dot_product(matmul(x,A),x)+dot_product(b,x)
    - J9 G% b+ H2 c1 m  Y  R0 h0 u    end function f+ {* [+ d% e; F8 ]
    !!!子程序,矩阵与向量相乘
    ( l$ E+ ?& @) q subroutine vectorm(p,G)
      a6 b/ K+ c5 q' m% u4 w- d real,dimension(,intent(in)::p4 \) G' d  {: f0 M: _7 ~+ Q0 r) S
    real,dimension(:,,intent(out)::G: z" v; G' l) h! v7 k
    n=size(p)# g5 T" L, W; i4 @6 r7 d
    do i=1,n5 I9 l; x+ |$ G2 t+ q! W
        do j=1,n
    " m2 j  u. B, ^/ |' J  L       G(i,j)=p(i)*p(j): U$ E" |) C' n" R: H8 \1 T# X
        enddo1 }  ~  C  b3 H2 R" ^( X
    enddo
    , d, c/ S) S% V7 U+ T: e% G end subroutine
    % x& V. V- b# A 4 M' y# v" ^4 m% S
        !!!精确线搜索0.618法子程序 ,返回步长;
    ) H) J5 O6 {1 q6 V3 C% M    function golden(x,d,A,b) result(golden_n)) r4 z# G4 }4 p0 b0 w
        real::golden_n
    & s# o8 k" d/ m, _% D& y- a  e    real::x00 e' a* ?5 F# v. o* W! o. `
        real,dimension(,intent(in)::x,d3 c1 g: `8 K4 p7 t$ }
        real,dimension(,intent(in)::b
    * z8 P1 e7 ?/ J; i& U, _2 B/ b    real,dimension(:,,intent(in)::A
    . r1 ~4 t; ~+ Q6 ]    real::x1,x2,a1,b1,f0,f1,f2,r,tol,dx  [, T( ~5 Y7 r8 R) @+ b& J
        parameter(r=0.618)+ s5 K3 y7 L) p& I/ j
        tol=0.0001! |8 h2 O) P% K6 M; ~& l( b/ M: I
        dx=0.1
    8 W, }$ d4 g9 a* Q( |" s    x0=16 B5 ]$ F9 _9 W# [
        x1=x0+dx
    4 V5 w/ M5 N9 ~$ J5 D5 b    f0=f(x+x0*d,A,b)2 z9 l" B+ g6 Z& H/ M/ ]: Q
        f1=f(x+x1*d,A,b)
    9 N4 i, N# |" w8 X- j  y/ `* d    if(f0&lt;f1)then
    / s' O5 H9 A+ \* d6 P4       dx=dx+dx0 t* [+ }* d4 L( i$ B7 A9 W$ ^
            x2=x0-dx+ D4 Q1 Y- D4 ~
            f2=f(x+x2*d,A,b)1 Y4 C5 Y  }8 a( k% o: {6 T& ?$ j
            if(f2&lt;f0)then
    # h6 o5 f% O9 H- N0 r. D$ z: W           x1=x0
    $ ?" J* q& t$ l( ]. @" `  R        x0=x2
    2 a, V; k& v" g# o        f1=f0
    2 A3 A1 h5 K, j0 m. T0 s7 ^% J+ W        f0=f2
    ' ?. J1 \9 u2 w5 K        goto 4* z+ P! Q& d0 F% _7 \
            else" G* \3 ?0 Y8 y7 h6 p$ \; s; M
               a1=x21 T6 J# ?7 h) [: [2 D9 @  }
            b1=x1
    * p5 [: J% _/ x4 X0 \4 d        endif
    1 S6 l6 s/ C  J    else
      m% E$ S0 R, }+ {: L5 P% d5 b2       dx=dx+dx
    + y! n& {8 l1 K        x2=x1+dx/ ^  ]( q/ i' b3 Q
            f2=f(x+x2*d,A,b)
    0 ~# L+ G/ [) W* p        if(f2&gt;=f1)then
    0 Q  ]5 ]* c$ x           b1=x2- @0 @" B1 W% q
            a1=x0
    . V: E' h  F3 t! `+ Q8 h! x- U        else  v! t; j  I( y& d; L) g
               x0=x16 n# D, [4 {: G
            x1=x2
    ' i8 I2 V/ P1 P4 F        f0=f19 `/ c& m8 y# ]! ]( B* z" h
            f1=f21 U$ M0 R1 n$ M9 @% I
            goto 2: d0 d' A+ R2 u9 A
            endif. m+ K4 c; ?: b' j0 A+ R# `( e
        endif
    2 _; k+ P9 ~5 m4 g4 q& e. Q2 t    x1=a1+(1-r)*(b1-a1)5 ~4 F1 c# r$ Q/ c$ ^, p
        x2=a1+r*(b1-a1)2 I+ R  \& c9 m3 h! c, {% }3 s
        f1=f(x+x1*d,A,b)- B0 U+ d/ W9 e( H' \  d/ `
        f2=f(x+x2*d,A,b)) O: f/ L. Y. z& k$ f
    3   if(abs(b1-a1)&lt;=tol)then& Y1 V  R; k4 [' q3 J1 k
            x0=(a1+b1)/2
    & B2 `) `2 o5 z1 {& Q: R* C+ ~* T    else; c' p' F& v! z
            if(f1&gt;f2)then, R7 b8 L6 p, X3 s5 d& ]* B
            a1=x1
    % E5 f+ A* C! r' A9 H6 h% F8 q        x1=x2; C5 F  j  g& z- f
            f1=f2  X, G1 K0 o: E- ^+ }8 F
            x2=a1+r*(b1-a1)
    1 Z8 _9 U8 e/ R& Z. ~        f2=f(x+x2*d,A,b)
    1 l7 Y: c; n* i+ P) j2 c: U9 P        goto 3- E9 @, }% ?' y4 O) a  n
         else
    0 C9 t7 |4 y, {        b1=x2. y8 H4 l5 Y* E# W
            x2=x1
    9 P+ K6 h  n* A. \5 r% ?8 G8 v7 [$ m; Y        f2=f1
    ! l8 c% o9 x# L        x1=a1+(1-r)*(b1-a1)" k3 H1 _8 o( U+ S7 ]
            f1=f(x+x1*d,A,b)
    0 D  {0 j( P: T- c* U( C        goto 3' q5 w* r* O% H  L0 o$ k
         endif9 X) T1 s2 z  b+ V6 Q
        endif
    ' d+ ?' I* q2 {3 R* p' x+ M1 p    golden_n=x0( o/ t9 Z8 F# a" B: G2 y2 \
        end  function golden  B/ g3 `6 m* \' a9 g( g
    101 end- u- d+ ]2 a( @- C+ \. ?
    </P>& J* {. o% t& m
    <>本程序由Fortran 90编写,在Visual Fortran 5上编译通过,本程序由沙沙提供!4 J' l# N) D0 X9 F9 R
    </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, 2025-9-10 12:24 , Processed in 0.715446 second(s), 56 queries .

    回顶部