3
|
chillitom Cee McSharpface · 技术社区 · 15 年前 |
![]() |
1
2
首先建立一个所有货币的图表:
现在使用递归遍历该图:
免责声明: 这是未经测试的。此外,我确信这不是解决问题的最有效方法(我认为是),但我相信它会起作用的。为了提高性能,您可以添加一些内容(例如,保存每一个新的合并比率计算,最终将其转换为有效的o(1)) |
![]() |
2
2
把所有的货币换算成一种货币,然后用它来换算,难道不简单吗?例如(以美元为基础货币):
现在,这假设代数是完全交流的。也就是说,如果我转换为欧元->美元->英镑,我将获得与从欧元->英镑转换相同的收益。实际上可能不是这样,在这种情况下,您需要每个支持的排列。 |
![]() |
3
1
有趣的问题! 首先, 远离双/浮点运算 . .NET Decimal type 应该是相当充分和提供更好的精度!考虑到衍生外汇汇率的计算需要一系列的多重操作,这种改进的精度可能特别重要。 另一种说法是,引入一个更简单/更短的汇率表可能是不受限制的,即目标货币总是相同的[真实或虚构的]货币。我在这里假设我们应该使用列出的价格。 所以 计算导出的速率应该成为一个[简化的]网络解决方案 由此
|
![]() |
4
1
我不知道“双汇”是用来干什么的…我就不管了。
尝试:
评论?
附言:你可以用
|
![]() |
5
0
最直接的算法可能是 Dijkstra 的最短路径或使用该列表生成的图形上的某些内容。因为您事先不知道路径的长度,所以这并不是一个可以通过linq查询优雅地解决的问题。(并不是说这是不可能的,这可能不是你应该追求的。) 另一方面,如果您知道有一条从任何货币到任何其他货币的路径,并且列表中的任何两种货币之间只有一种可能的转换(即,如果存在美元>欧元和美元>瑞士法郎,则欧元>瑞士法郎不存在或您可以忽略它),则只需生成一些就像一个双链表和遍历。不过,这并不是通过linq可以很好地解决的问题。 |
![]() |
6
0
生成它们并缓存它们。给定初始集,该函数将生成所有现有的对(在同一个列表中),而无需图形或递归,方法是在迭代时简单地展开初始列表。
此实用函数将生成单个交叉率。
|
![]() |
cala · 从GoogleFinance获取特定日期的汇率 7 年前 |
![]() |
Patrick Mccarthy · 英镑/美元/欧元的货币正则表达式 7 年前 |
![]() |
JamesHudson81 · 更改df的格式并删除不需要的字符 7 年前 |
![]() |
Kevin Upton · 加密货币MySQL数据类型? 7 年前 |
![]() |
Kiki · 爪哇货币-特定日期的货币兑换率 7 年前 |
![]() |
DrHolera · 如何获取当前万事达卡费率(买入/卖出货币)? 8 年前 |