1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | using System; namespace FrictionTest { class Program { static readonly Random Random = new Random(); static void Main(string[] args) { const float friction = 0.95f; float value = 1000f; Console.WriteLine(ApplyFrictionImmediate(value, friction)); float totalTime = 0f; while (totalTime < 1f) { float dt = RandomFloatBetween(1/60f, 1/40f); value = ApplyFrictionOverTime(value, friction, dt); totalTime += dt; } Console.WriteLine(value); Console.ReadKey(); } static float RandomFloatBetween(float min, float max) { return (max - min)*(float) Random.NextDouble() + min; } static float ApplyFrictionImmediate(float value, float friction) { return value * friction; } static float ApplyFrictionOverTime(float value, float friction, float dt) { return value - value * (1f - friction) * dt; } } } |
dXNpbmcgU3lzdGVtOwoKbmFtZXNwYWNlIEZyaWN0aW9uVGVzdAp7CiAgICBjbGFzcyBQcm9ncmFtCiAgICB7CiAgICAgICAgc3RhdGljIHJlYWRvbmx5IFJhbmRvbSBSYW5kb20gPSBuZXcgUmFuZG9tKCk7CgogICAgICAgIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKICAgICAgICB7CiAgICAgICAgICAgIGNvbnN0IGZsb2F0IGZyaWN0aW9uID0gMC45NWY7CgogICAgICAgICAgICBmbG9hdCB2YWx1ZSA9IDEwMDBmOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShBcHBseUZyaWN0aW9uSW1tZWRpYXRlKHZhbHVlLCBmcmljdGlvbikpOwoKICAgICAgICAgICAgZmxvYXQgdG90YWxUaW1lID0gMGY7CiAgICAgICAgICAgIHdoaWxlICh0b3RhbFRpbWUgPCAxZikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZmxvYXQgZHQgPSBSYW5kb21GbG9hdEJldHdlZW4oMS82MGYsIDEvNDBmKTsKICAgICAgICAgICAgICAgIHZhbHVlID0gQXBwbHlGcmljdGlvbk92ZXJUaW1lKHZhbHVlLCBmcmljdGlvbiwgZHQpOwogICAgICAgICAgICAgICAgdG90YWxUaW1lICs9IGR0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHZhbHVlKTsKCiAgICAgICAgICAgIENvbnNvbGUuUmVhZEtleSgpOwogICAgICAgIH0KCiAgICAgICAgc3RhdGljIGZsb2F0IFJhbmRvbUZsb2F0QmV0d2VlbihmbG9hdCBtaW4sIGZsb2F0IG1heCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiAobWF4IC0gbWluKSooZmxvYXQpIFJhbmRvbS5OZXh0RG91YmxlKCkgKyBtaW47CiAgICAgICAgfQoKICAgICAgICBzdGF0aWMgZmxvYXQgQXBwbHlGcmljdGlvbkltbWVkaWF0ZShmbG9hdCB2YWx1ZSwgZmxvYXQgZnJpY3Rpb24pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gdmFsdWUgKiBmcmljdGlvbjsKICAgICAgICB9CgogICAgICAgIHN0YXRpYyBmbG9hdCBBcHBseUZyaWN0aW9uT3ZlclRpbWUoZmxvYXQgdmFsdWUsIGZsb2F0IGZyaWN0aW9uLCBmbG9hdCBkdCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAtIHZhbHVlICogKDFmIC0gZnJpY3Rpb24pICogZHQ7CiAgICAgICAgfQogICAgfQp9
-
upload with new input
-
result: Success time: 0.01s memory: 38088 kB returned value: 0
950 950.2614


