aboutsummaryrefslogtreecommitdiff
path: root/week02/exercise09.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'week02/exercise09.cpp')
-rw-r--r--week02/exercise09.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/week02/exercise09.cpp b/week02/exercise09.cpp
new file mode 100644
index 0000000..e53d427
--- /dev/null
+++ b/week02/exercise09.cpp
@@ -0,0 +1,29 @@
+#include <iostream>
+
+int main() {
+ double price;
+ std::cin >> price;
+
+ // Има два метода да се реши тази задача
+ // или (int)(price * 100) и price % x (където x е 50 или 20 или 10 или 5 или 1)
+ // или (int)(price / 0.x) и price -= (int)(price / 0.x) (където х е 5 или 2 или 1 или 05 или 01)
+ // Втория вариант е малко по-общ, затова него ще имплементирам
+ int divided = price / 0.5;
+ std::cout << "0.5 " << divided;
+ price -= divided * 0.5;
+
+ divided = price / 0.2;
+ std::cout << " 0.2 " << divided;
+ price -= divided * 0.2;
+
+ divided = price / 0.1;
+ std::cout << " 0.1 " << divided;
+ price -= divided * 0.1;
+
+ divided = price / 0.05;
+ std::cout << " 0.05 " << divided;
+ price -= divided * 0.05;
+
+ divided = price / 0.01;
+ std::cout << " 0.01 " << divided << std::endl;
+}