Cin-browser interpreter · runs locally
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
#include <stdio.h> #include <math.h> long state = 3; long lcg() { state = (1103515245L * state + 12345L) % 2147483648L; return state; } double uniform() { return (double)lcg() / 2147483648.0; } int main() { int inv = 20, reorder = 10, orderQty = 15; int orderDue = -1; double holding = 0.5, shortage = 5.0, ordering = 10.0; double totalCost = 0; int days = 100; for (int d = 0; d < days; d++) { int demand = 1 + (int)(uniform() * 5); if (inv >= demand) { inv -= demand; totalCost += holding * inv; } else { int lost = demand - inv; inv = 0; totalCost += shortage * lost; } if (inv <= reorder && orderDue < 0) { orderDue = 2; totalCost += ordering; } if (orderDue == 0) { inv += orderQty; orderDue = -1; } if (orderDue > 0) orderDue--; } printf("final inventory = %d\n", inv); printf("total cost = %.2f\n", totalCost); return 0; }
41 lines
Output
Write some code, then press Run. Stdout and errors appear here.