小编ole*_*ole的帖子

F#楼层功能不正确圆?

我有一个非常奇怪的问题.这是我简单的递归代码:

let float2cfrac x =
    let rec tofloat (lst : int list) (xi : float) =

        let qi = floor xi
        let ri = xi-qi

        printfn "%A %A %A %A" xi qi ri (1.0/ri)
        if ri > (floor 0.0) then          
            tofloat (lst @ [int qi]) (1.0/ri)
        else
            lst
    tofloat [] x
Run Code Online (Sandbox Code Playgroud)

我不会解释我的代码太多,因为我所拥有的问题似乎很基本.printfn将打印xi和qi,其中qi只是xi的底限.在查看输出时,看起来一旦软件达到xi的舍入数字,floor函数就会删除1,而不是什么都不做.

这是我的数字3.245的输出,它应该在几次计算后完成计算:

float2cfrac 3.245 ;;

3.245 3.0 0.245 4.081632653

4.081632653 4.0 0.08163265306 12.25

12.25 12.0 0.25 4.0

4.0 3.0 1.0 1.0 - 这里搞砸了.4.0的楼层应该是4,对吗?

1.0 1.0 4.035882739e-12 2.477772682e + 11 …

math f# floor

3
推荐指数
1
解决办法
339
查看次数

Mongo C# 驱动查找多个并删除

我正在使用 collection.FindOneAndDeleteAsync,但这在用于获取许多文档时会使用大量 CPU。使用 c# mongo 驱动程序查找多个文档(从 100 到 50k 的任何位置)并删除的最佳方法是什么?

谢谢

c# mongodb

1
推荐指数
1
解决办法
4602
查看次数

标签 统计

c# ×1

f# ×1

floor ×1

math ×1

mongodb ×1