-
Notifications
You must be signed in to change notification settings - Fork 2
/
12.1 ATM Machine.java
123 lines (102 loc) · 3.28 KB
/
12.1 ATM Machine.java
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/*
Sameer wants to develop a program for ATM. Help him by constructing the program for the same. In the program if user withdraws amount upto 1000 then machine will dispence Rs. 100 notes only. Minimum number of notes should be dispenced by the machine. Notes of denomination of 100,200,500 and 2000 are available in machine.
Input Format
One integer value between 100-20000.
Constraints
Maximum withdrawl amount should be 20000, Minimum should be 100 and amount should be in the multiple of 100 only.
Output Format
Print the number of notes dispenced and their denomination.
Sample Input 0
1100
Sample Output 0
1 100 Notes
2 500 Notes
Sample Input 1
1550
Sample Output 1
Invalid Input
*/
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
// 12.1_PKP Solutions Begains Here...
Scanner sc = new Scanner(System.in);
// How many Total money You want ? money.pkp
int money = sc.nextInt();
//checking First Condition Limitation...
if(money>=100 && money<=20000)
{
//Type of Notes 100,200,500,2000...?
int H = 0,TH = 0,FH = 0,TT = 0;
//upto 1000 condition 2.pkp
if(money<=1000)
{
if((money%100)==0)
{
H += (money/100);// total number of 100s note required
}
else
{
// Atm don't have such notes
System.out.print("Invalid Input");
}
}
//more than 1000
else
{
while(money>0)
{
//rest of main logic
if(money>=2000)
{
TT += (money / 2000);
money = money%2000;
}
else if(money>=500)
{
FH += (money/500);
money = money%500;
}
else if(money>=200)
{
TH += (money/200);
money = money%200;
}
else if(money>=100)
{
H += (money/100);
money = money%100;
}
else
{
System.out.print("Invalid Input");
System.exit(0);
}
}
}
//printing
if(H!=0)
{
System.out.println(H+" 100 Notes");
}
if(TH!=0)
{
System.out.println(TH+" 200 Notes");
}
if(FH!=0)
{
System.out.println(FH+" 500 Notes");
}
if(TT!=0)
{
System.out.println(TT+" 2000 Notes");
}
}
else
{
System.out.print("Invalid Input");
}
}
}