一道汇率换算的算法题求解 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lawsiki

一道汇率换算的算法题求解

  •  
  •   lawsiki 2019 年 10 月 30 日 4509 次点击
    这是一个创建于 2368 天前的主题,其中的信息可能已经有所发展或是发生改变。
    题目大致上是这样的:
    已知
    BTC - USDT 的汇率是 10000
    ETH - USDT 的汇率是 200
    ABC - USDT 的汇率是 2
    CNY - USDT 的汇率是 0.14

    求 BTC - ETH 的汇率?
    13 条回复    2019-10-30 21:08:29 +08:00
    qyvlik
        1
    qyvlik  
       2019 年 10 月 30 日 via Android
    BTC-ETH,的计价币种是 ETH,所以(BTC-USDT)/(ETH-USDT)=50,意思是花 50ETH 可以买入 1BTC,1BTC 的价格是 50ETH。如果你问 BTC-ETH 的价格,反过来除就行了。
    lawsiki
        2
    lawsiki  
    OP
       2019 年 10 月 30 日
    @qyvlik #1 #1 抱歉、忽略了一个东西,还有一个汇率是 DEF_ABC:7,求 DEF -- CNY 的汇率,大致算法我知道,通过 DEF_ABC 和 ABC_USDT 得到 DEF_USDT 的汇率是 14,再通过 CNY_USDT 的汇率得到 DEF_CNY 的汇率是 100,但是具体实现方式不知道怎么写。。
    qyvlik
        3
    qyvlik  
       2019 年 10 月 30 日 via Android
    @lawsiki 你的意思是不知道如何写成代码?
    lawsiki
        4
    lawsiki  
    OP
       2019 年 10 月 30 日
    @qyvlik #3 #3 是的
    qyvlik
        5
    qyvlik  
       2019 年 10 月 30 日 via Android
    @lawsiki 再问一句,你是否需要针对这个问题的通用版本,也就是给定多个汇率,求任意折算汇率,写出通用代码?
    geelaw
        6
    geelaw  
       2019 年 10 月 30 日 via iPhone   2
    如果 A-B 的汇率是 v,则建立 a->b 权为 log v 的边,以及 b->a 权为 -log v 的边。
    C-D 的汇率是 exp(C 到 D 的路径长度)。

    如果不存在路径,则说明条件无法决定目标汇率,如果存在多个不同长度,说明市场存在无风险套利(假设无摩擦)。
    sagaxu
        7
    sagaxu  
       2019 年 10 月 30 日 via Android
    广度优先搜索
    lawsiki
        8
    lawsiki  
    OP
       2019 年 10 月 30 日
    @qyvlik #5 #5 是的,给定任意两个货币,求折算汇率,当然如果给定的汇率表中没有关联关系的话可以返回 null
    lawsiki
        9
    lawsiki  
    OP
       2019 年 10 月 30 日
    @geelaw #6 #6 感谢回复,大概了解了
    lawsiki
        10
    lawsiki  
    OP
       2019 年 10 月 30 日
    @sagaxu #7 #7 感谢回复
    qyvlik
        11
    qyvlik  
       2019 年 10 月 30 日 via Android
    @lawsiki 其他楼层给出答案了,折算汇率,用图+图的遍历可以做,例如 btc-eth 是边。btc 和 eth 是两个顶点。
    Building
        12
    Building  
       2019 年 10 月 30 日 via iPhone
    a/b = k1, c/b = k2, a = bk1, k3 = c/a = c/bk1;
    lawsiki
        13
    lawsiki  
    OP
       2019 年 10 月 30 日
    @qyvlik #11 #11 恩,了解了,感谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3034 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 02:31 PVG 10:31 LAX 19:31 JFK 22:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86